Just nu i M3-nätverket
Jump to content

Datumsökning


pallar

Recommended Posts

Nu står jag inför ytterliggare ett jobbigt problem. Har sökt runt i forumet men kunnat finna svar.

 

Alltså vid ett visst datum konverterat till veckonummer (veckonr) skall den hämta olika data ifrån cellerna precis under "rätt vecko nr"

 

Ex: i cellerna A2:B5 vill jag ha in värden. I cell A1 har jag dagens datum. Konverterat till ett vecko nr. Om det då är vecka 14. Så skall den hitta v 14 som finns någonstans B1:O1 och fylla i datan från cellerna ?2:?5 i A2:B5

Link to comment
Share on other sites

Ge oss en skärmdump...

 

fast med det sagt, om du har veckonummer även i tabellen är det bara att söka. Är de sorterade på veckonummer är det enkelt.

 

=PASSA(A1;B1:O1;0)

ger dig relative kolumnen för träff.

sedan har du visst ett antal värden att hämta, enklast då kanske är att i A3, givet att formeln ovan står i A2

=INDEX(B2:O2;1;A2)

vi antar att du alltid får träff, annars måste vi hantera felvärden också samt att du vill hämta värden från rad 2.

 

I nästa cell skriver du

=OM(INDEX(B1:01;1;A2)<>INDEX(B1:O1;1;A2+1);"";INDEX(B2:O2;1;A2+1))

 

Kanske... som en grund att starta ifrån. Ett sätt att göra det på om jag förstått dit problem korrekt.

Link to comment
Share on other sites

Alltså som i exempel. Jag har värde (veckan) "15" på bild 1 i ruta F1. Och jag vill ha datan för vecka "15" i rutorna A4:F49.

 

Datan är det som i exemplet finns i bild 2 O4:T49

 

Så ja, jag vill "söka" på en vecka och få datan ifylld enligt veckan.

 

Tack på förhand!

post-71693-1270646542,82_thumb.jpg

post-71693-1270646553,12_thumb.jpg

Link to comment
Share on other sites

ja, sådär kan man ju också ställ upp saker och ting. Om man vill göra det lite komplext att söka reda på det man vill :)

 

Men det går, inget problem.

 

jag antar, att i bild två, att det bladet heter Blad2. Att veckonumren står i egna celler, att de alltid står i samma kolumn som Tid-kolumnen i tabellen.

 

Då blir det några steg på Blad1

1: Söka reda på var veckan finns på blad2

=PASSA(F1;Blad2!1:1;0)

vi skriver detta i cell F2

 

2: Nu vet vi kolumn, men var börjar tabellen? Jo det vet vi, tre rader ned och fem kolumner bort.

I cell A4 skriver vi då

=FÖRSKJUTNING(Blad2!$A$1;rad()-1;$F$2-6+kolumn())

 

3: kopiera ned och ut i din tabell.

 

torde bli rätt..

hänger du med?

Link to comment
Share on other sites

Japp, Tackar och bockar! =)

 

Men hur fungerar det om man använder olika arbetsböcker. Och refererar till en helt annan bok istället för en flik.?

Gjort lite tester på det med och det verkar endast fungera om arbetsboken med datan är öppen. När den vill uppdatera länken så får jag bara "värdefel". ?

Link to comment
Share on other sites

Ja, så är det. Leta upp och referensformler fungerar enbart mot öppna böcker. Detta av förståeliga skäl.

Link to comment
Share on other sites

Ha den andra boken öppen då kanske?

 

Om du vill hämta avancerade data från stängda böcker, då är VBA-kod ett måste. Och ärligt, det kan vi väl undvika?

Link to comment
Share on other sites

Bara en ytterliggare fråga.. Om jag vill göra sökningen i olika flikar då? Jag vill hitta "rätt flik" om jag söker på ett datum?

 

Precis samma fråga som tidigare fast vi gör sökningen i olika flikar.

Link to comment
Share on other sites

Bara en ytterliggare fråga.. Om jag vill göra sökningen i olika flikar då? Jag vill hitta "rätt flik" om jag söker på ett datum?

 

Precis samma fråga som tidigare fast vi gör sökningen i olika flikar.

 

Då blir det svårare. Ni har redan gjort det lite komplicerat genom att inte ha en fin tabell och inte ha data i samma fil som rapporten. Vill ni även sprida ut det över olika blad i en bok då blir det än mer komplext.

 

Eller med andra ord - då måste man antingen veta vilket blad man ska söka på eller ha en sökfunktion PER blad! Komplext med andra ord. Inte alls optimalt. Excel är absolut bäst om data ligger i fina tabeller.

 

Men det går att lösa, det gör det. Om du inte vet vilken flik data finns i då måste vi alltså sätta upp en sök-funktion per flik i stil med

=PASSA(A1;Blad1!A1:F1;0)

i nästa cell

=OM(ärfel(B1);PASSA(A1;Blad2!A1:F1;0);"")

och i nästa

=OM(ÄRFEL(C1);PASSA(A1;Blad..... osv

För att sedan ta reda på vilket av bladen som gett ett svar.

Vi kan göra som så att vi skriver under funktionen ovan

=OM(ÄRFEL(B1);0;1)

och under nästa

=OM(ÄRFEL(C1);0;OM(B2>0;B2;2))

osv

...

 

ja ska jag fortsätta?

Link to comment
Share on other sites

Jag har 1 "visningsflik" och 5st referensflikar. Så om jag vill leta efter ett värde (datum) som finns i någon av dem 5 referensflikarna så...

 

Hur kopplas det samman sen. Ponera att jag fått reda på min data är i blad3. (det är ett datum jag söker) hur får jag Ex värdet i cell F5 att visa sig i cell F5 i blad1 som är min visningsflik..

 

 

Återigen tack så väldigt.

Link to comment
Share on other sites

Är det ett visst antal veckor du har på varje flik? Kan vi tänka oss att vi vet att vecka 1 till 15 är på flik 1, att 16 till 30 är på flik två?

 

Då kan vi använda denna kunskap till att ta fram namnet på fliken från början och inte söka i blindo. Men vi tar det steget när du bekräftat att det är så eller ej men jag antar att vi vet vilket blad värdet finns på och att det har vi tagit fram i cell A1.

I A1 står det då exempelvis Blad2

Då ska vi skapa en referens dit vi ska söka, jag antar att det som tidigare är på rad ett som det ska sökas

INDIREKT("'" &A1 &"'!1:1")

denna referens använder vi i en PASSA-sats, som ovan

=PASSA(B1;INDIREKT("'" &A1 &"'!1:1");0)

och då ska vi få en träff givet att sökvärdet står i B1 och att det återfinns på bladet ifråga.

 

På samma vis får vi med den kunskapen bygga de referenser till verkliga dataområden på samma vis som ovan men med hjälp av INDIREKT. Jag antar att det ser ut som tidigare, samma uppställning.

 

=FÖRSKJUTNING(INDIREKT("'" &A1 &"'!A1");rad()-1;$F$2-6+kolumn())

om då passa-satsen står i cell F2.

 

Med dessa verktyg, dessa formler borde du kunna ta några steg till.

Link to comment
Share on other sites

Njae, jag hra spalatat upp det i 5st flikar med namn Måndag-fredag där jag i flik "måndag" fyller i måndagens datum, i tisdagen skriver måndagens datum+1 osv..

Sen har jag min "visningsflik" Där jag har "dagens datum" (=idag() ) och vill med hjälp av det hitta "rätt dag" alltså hitta vilken flik jag ska hämta datan ifrån..

Link to comment
Share on other sites

då kan vi väl skriva

=VÄLJ(VECKODAG(B2;2);"Blad2";"Blad3";"Blad4";"Blad5";"Blad6")

i en cell om då dagens datum finns i cell B2.

eller lite kortare

=INDEX(F1:F5;VECKODAG(B2;2))

givet att det i F1:F5 finns en tabell med namnen på bladen.

 

för att sedan använda det namnet i formlerna ovan.

 

Nu har jag väl gett dig formler så att det räcker. Dvs PASSA om du behöver söka, INDIREKT för att bygga upp referenser givet att du har ett okänt blad att hämta data ifrån, FÖRSKJUTNING för att enkelt bygga upp referenser på bladet ifråga fast ska sägas att INDIREKT kan duga för det med. INDEX för den delen kan även den användas.

 

Eller behöver du mer?

Link to comment
Share on other sites

Tack tack och åter tack. Nu har jag så jag klarar mig.. (Denna gången ;) )

 

Förhoppningsvis ska det dröja tills nästa..

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...