Excel-formel: Slå opp og transponere flere kriterier -

Innholdsfortegnelse

Generisk formel

(=INDEX(rng1,MATCH(1,($A1=rng2)*(B$1=rng3),0)))

Sammendrag

For å utføre et flerkriterisk oppslag og transponere resultater til en tabell, kan du bruke en matriseformel basert på INDEKS og MATCH. I eksemplet vist er formelen i G5:

(=INDEX(amount,MATCH(1,($F5=location)*(G$4=date),0)))

Merk at denne formelen er en matriseformel og må angis med kontroll + skift + enter.

Denne formelen bruker også tre navngitte områder: plassering = B5: B13, mengde = D5: D13, dato = C5: C13

Forklaring

Kjernen i denne formelen er INDEX, som henter en verdi fra det nevnte området "beløp" (B5: B13):

=INDEX(amount,row_num)

der row_num er utarbeidet med MATCH-funksjonen og litt boolsk logikk:

MATCH(1,($F5=location)*(G$4=date),0)

I dette utdraget sammenlignes plasseringen i F5 med alle stedene, og datoen i G4 sammenlignes med alle datoene. Resultatet i hvert tilfelle er en matrise med SANNE og FALSE verdier. Når disse matriser multipliseres sammen, tvinger matematikkoperasjonen de SANNE og FALSE verdiene til ens og nuller, slik at oppslagsmatrisen som går inn i MATCH ser slik ut:

(1;0;0;0;0;0;0;0;0)

MATCH er satt opp til å matche 1 som et eksakt samsvar, og returnerer posisjonen til INDEKS som et radnummer. Nummer 1 fungerer for oppslagsverdien fordi matrisen nå bare inneholder 1 og 0, som vist ovenfor.

F5 og G4 legges inn som blandede referanser, slik at formelen kan kopieres gjennom tabellen uten endring.

Transponere med lim spesial

Hvis du bare trenger å transponere et bord en gang, ikke glem at du kan bruke lim spesial.

Interessante artikler...