Just nu i M3-nätverket
Gå till innehåll
balnoj

Excel - hämta från celler

Rekommendera Poster

balnoj

Hej!

 

Har slitit mitt hår med detta i fyra dagar nu...............

 

Jag försöker få till en funktion så när jag väljer datum i F25 (rullgardinsmeny) exempelvis en måndag

Hämtas data från området G17:Z17 (dock endast från celler som innehåller ett namn)

Dessa skulle jag helst vilja få sorterade i listan E27:E38

 

Lyckas själv få till det så att hela området G17:Z17 hämtas, dock följer alla tomma celler med????

 

Går det att lösa?

 

Excel.png

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
MH_

Har du nyaste excel?

=TRANSPONERA(FILTER(G17:Z17;G17:Z17<>""))

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
balnoj
Postad (redigerade)

Tack så mycket för svaret, jag får det tyvärr inte att fungera ändå.

Om jag däremot skapar området S25:AL25, och fyller med alfabetet,

fungerar det alldeles utmärkt och den spiller automatiskt som beräknat

i den nya kolumnen och plockar bort de "glapp" jag skapar i området.

 

Det får mig att undra om det kan ha med själva datainhämtningen i området att göra,

som TRANSPONERA skall använda sig av?

 

I G17 har jag formeln: =OM(G6="FM";G5;"") dvs om värdet i G6 innehåller texten FM, visa namnet som står i G5.

G6 hämtar i sin tur sitt värde enligt: =LETARAD(B6;Deltagare!C20:H51;2;FALSKT)

 

Verkar vara något steg här som jag inte greppat riktigt.

 

P.S.

 

Kör Excel 16 i Office 365

 

Redigerad av balnoj
Glömt en kommentar

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
MH_

Nja. Så länge villkoret är uppfyllt (<>"") så borde det funka som du vill. Och i G17 skriver du ju """ när FM saknas.

Testa att lägga transponering inne i filtret. Gör det någon skillnad?

=FILTER(TRANSPONERA(G17:Z17);TRANSPONERA(G17:Z17)<>"")

 

Eller gör om villkoret på något sätt. Så här t.ex:

=TRANSPONERA(FILTER(G17:Z17;LÄNGD(G17:Z17)>0))

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
balnoj

Fick det inte att fungera med filtreringen hur jag än gjort (är nog jag som inte har full koll i nästlade funktioner, men.....

 

Provade att lägga din formel i ett dolt datablad där en listruta kan plocka upp enligt:

 

=OM(E25="Måndag";Data!G3:G22;OM(E25="Tisdag";Data!H3:H22;OM(E25="Onsdag";Data!I3:I22;OM(E25="Torsdag";Data!J3:J22;OM(E25="Fredag";Data!K3:K22;0)))))

 

Det verkar göra exakt det jag vill inklusive att sortera resultatet, och jag får ett nollvärde som är lätt att dölja med villkorsstyrd formatering.

 

Ska ändå gå in och testa ditt ursprungliga förslag igen, för nu har jag hittat ett sätt som är lättare för mig att föra in nästlade funktioner, tar bara något längre tid, men jag ser hela vägen exakt vad jag gör.

 

Stort tack för ditt engagemang! Det mest fantastiska med detta sätt att lära sig är att det hela tiden leder vidare till ny kunskap. Faktiskt ganska likt när man skriver musik, en låt idé kan ge upphov till tre ytterligare låtar under tiden man skapar.

 

Åter igen stort tack 🙂

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
MH_

Greppar inte riktigt hur du använder din sista formel. Men, eftersom du håller på att lära dig saker så kan du kolla på det här som alternativ till din nästlade formel. Lika lång men i mitt tycke enklare än att räkna parenteser (motsvarar Select Case i VBA och liknande språk)

=VÄXLA(E25;"Måndag";data!G3:G22;"Tisdag";data!H3:H22;"Onsdag";data!I3:I22;"Torsdag";data!J3:J22;"Fredag";data!K3:K22;0)

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
balnoj

Precis som du skriver ger funktionen VÄXLA samma resultat, som min nästlade OM historia, men blir lättare att greppa.

 

Men precis när jag tror att jag fått till det dyker något nytt upp..... 😞

 

Datan som hämtas kommer ursprungligen från en sorts deltagarkort (totalt 20 stycken på fliken "Deltagare"), som visar om en person väntas vara närvarande (FM), varit närvarande (X) och några variationer på det. På deltagarkortet sätter man in startdatum och i cellen nedanför räknas slutdatum ut.

 

På fliken "Översikt" fyller jag sedan i vilken vecka jag vill arbeta med i F6.

Med hjälp av LETARAD hämtas då värdena i G6:Z6 från varje deltagarkort.

 

Det som verkar strula är att om inte datumet i samtliga deltagarkort faller in under vald period att arbeta med så blir resultatet: #SAKNAS! och då visas endast nollor. Det verkar dock inte spela någon roll om cellerna som värdena som skall hämtas (FM, X o.s.v.) är tomma.

 

Med risk för att jag börjar tänja på gränsen för det rimliga, bifogar själva filen jag jobbar med den här gången.

 

Med vänlig hälsning Jonny

 

P.S.

Skall paralellt försöka börja om genom att skala ned till kanske bara 3 deltagarkort, så kanske jag lättare kan se vart jag går vilse. 

 

 

 

 

 

Deltagare_arbete.xlsx

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
MH_

Hinner bara snabbtitta. Men du borde klara dig utan hjälpbladet.

översikt E27

Skulle du kunna fixa direkt.

Du kan hamta måndagsraden på lämpligt sätt och filtrera direkt. Exempel (otransponerat):

=FILTER(G17:T21;E17:E21=E25)

Sen är det tråkiga att det inte verkar gå att lägga in "är inte tom" i samma villkor så du får köra dubbelt.

 

=TRANSPONERA(FILTER(FILTER(G17:T21;(E17:E21=E25));FILTER(G17:T21;(E17:E21=E25))<>""))

 

 

Du kan även testa att köra "omfel" runt formlerna i G6:Z10 för att dölja felmeddelanden

exempel för bertil (H6, kopiera ner):

=OMFEL(LETARAD($B6;Deltagare!$L$20:$Q$51;RAD(A2);FALSKT);"")

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
MH_

Nu kollade jag lite igen.

bladet "Data" cell G3. Ta bort felmeddelanden med hjälp av OMFEL

 

=TRANSPONERA(FILTER(Översikt!G17:Z17;OMFEL(Översikt!G17:Z17;"")<>""))

(samma sak för övriga kolumner)

Då förstörs inte de beroende formlerna av felvärden och de borde funka som du tänkt. 

 

Alternativt hoppar du över hjälpbladet (DATA) och skriver in den här formeln i E27. Då kör du "OMFEL" direkt i uppslagsformeln. 

=TRANSPONERA(FILTER(FILTER(G17:Z21;(E17:E21=E25));FILTER(OMFEL(G17:Z21;"");(E17:E21=E25))<>""))

 

Det blir lite bökigt eftersom du får nästla Två Filter. en som hittar rätt rad (veckodag) och en som tar bort felmeddelanden och tomma celler.

Du tar fram rätt rad med:

=FILTER(G17:Z21;(E17:E21=E25))

Sen måste du använda den raden även när du letar efter tomma celler och felmeddelanden. Rätt rörigt

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
balnoj

Jag säger bara: FANTASTISKT!!! 😀 👍

 

Tänk att man kan bli så glad över formler i Excel............ 🤣

Det bästa av allt, jag förstår vad funktionerna gör också,

har redan hittat nya användningsområden.

 

Hoppas jag kan bidra med något själv framöver, om inte

dig så någon annan som kan behöva lite hjälp på traven här.

 

Forum när de är som bäst.

 

Åter igen tusen tack!

 

      👏🏻        🎺🎵🎶

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...