Ser bakover gjennom en datatabell

October 11  by Eliza

Kirk har en stor datatabell i Excel. Hver rad har et kjøretøy nummer, dato (tabellen er sortert etter denne kolonnen), som begynner kjørelengde, og slutter kjørelengde. Han ønsker å søke bakover i datatabellen for å finne sluttkilometer for samme bil nummer som skal brukes som begynner kjørelengde i gjeldende rad-lik FINN.RAD, men ser bunn til topp heller at topp til bunn.

Det er flere måter du kan nærme seg dette med en formel. Anta, for dette eksempelet, at kjøretøyet nummeret er i kolonne A, dato i kolonne B, den starter kjørelengde i kolonne C, og sluttkilometer i kolonne D. Det du trenger er en formel du kan sette i kolonne C som ser opp den siste slutt kjørelengde for det aktuelle kjøretøyet. Denne formelen sørger for en tilnærming; du bør plassere den i celle C3:

= LOOKUP (2,1 / FIND (A3, A $ 2: A2,1), D $ 2: D2)

Du kan kopiere formelen nedover kolonnen så langt du trenger. Hvis bilen nummer, i kolonne A, har ikke dukket opp tidligere i datatabellen, så formelen vil returnere en feil som #VERDI! eller # N / A. I så fall, kan du enkelt skrive over formelen med startkjørelengde som du vil bruke for kjøretøyet.

Her er en annen formalistisk tilnærming, men dette bør legges inn som en matriseformel (ved å trykke Ctrl + Shift + Enter):

= HVIS (A3 = "", "", MAX (IF (($ A $ 2: A2 = A3) * ($ D $ 2: D2), $ D $ 2: D2)))

Igjen, plasserer formelen i celle C3 og kopiere den ned så langt som nødvendig. Denne har ikke returnere en feil verdi dersom kjøretøyet ikke har dukket opp tidligere i datatabellen; den returnerer en verdi på 0. Du kan deretter skrive over formelen med den virkelige startkjørelengde for den bilen. Den følgende matriseformelen kan også anvendes:

= HVIS (A3 = "", "", INDIREKTE ("D" & STOR (($ A $ 2: A3 = A3) * ROW ($ 2: 3), 2)))

Forskjellen med denne matriseformel er at hvis kjøretøyet ikke har dukket opp tidligere i datatabellen, returnerer den en #REF! feil.

Her er to matriseformler som er enda kortere som du kan bruke i C3 (og, igjen, kopiere ned etter behov):

= MAX ((D $ 2: D2) * (- (A $ 2: A2 = A3)))
= MAX (IF (A $ 2: A2 = A3, D $ 2: D2))

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (11745) gjelder for Microsoft Excel 2007 og 2010. Du kan finne en versjon av dette tipset for den eldre menygrensesnittet av Excel her: Ser bakover gjennom en datatabell.