Excel formula: Indeks i podudaranje na više stupaca -

Generička formula

(=INDEX(rng1,MATCH(1,MMULT(--(rng2=critera),TRANSPOSE(COLUMN(rng2)^0)),0)))

Sažetak

Za traženje vrijednosti podudaranjem u više stupaca možete upotrijebiti formulu niza koja se temelji na MMULT, TRANSPOSE, COLUMN i INDEX. U prikazanom primjeru formula u H4 je:

(=INDEX(groups,MATCH(1,MMULT(--(names=G4),TRANSPOSE(COLUMN(names)^0)),0)))

gdje je "imena" imenovani raspon C4: E7, a "grupe" imenovani raspon B4: B7. Formula vraća grupu kojoj pripada svako ime.

Napomena: ovo je formula niza i mora se unijeti s enter control shift.

Obrazloženje

Logički kriteriji koji se koriste u ovoj formuli rade iznutra prema van:

--(names=G4)

gdje je imena imenovani raspon C4: E7. To generira TRUE / FALSE rezultat za svaku vrijednost u podacima, a dvostruki negativ prisiljava TRUE FALSE vrijednosti na 1 i 0 dajući ovakav niz:

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

Ovaj niz sastoji se od 4 retka po 3 stupca, što odgovara strukturi "imena".

Stvara se drugi niz s ovim izrazom:

TRANSPOSE(COLUMN(names)^0))

Funkcija COLUMN koristi se za stvaranje numeričkog polja s 3 stupca i 1 retkom, a TRANSPOSE pretvara ovaj niz u 1 stupac i 3 retka. Podizanje u nulu jednostavno pretvara sve brojeve u nizu u 1. Funkcija MMULT tada se koristi za množenje matrice:

MMULT((0,0,0;1,0,0;0,0,0;0,0,0),(1;1;1))

a rezultirajuće ide u funkciju MATCH kao niz, s 1 kao vrijednost pretraživanja:

MATCH(1,(0;1;0;0),0)

Funkcija MATCH vraća položaj prvog podudaranja, što odgovara retku prvog podudarnog retka koji zadovoljava isporučene kriterije. Ovo se uvodi u INDEX kao broj retka, s imenovanim rasponom "grupe" kao nizom:

=INDEX(groups,2)

Napokon, INDEX vraća "Medvjeda", grupi kojoj pripada Adam.

Doslovno sadrži kriterije

Da biste provjerili postoje li određene tekstualne vrijednosti umjesto točnog podudaranja, možete zajedno koristiti funkcije ISNUMBER i SEARCH. Na primjer, za podudaranje stanica koje sadrže "jabuku" možete koristiti:

=ISNUMBER(SEARCH("apple",data))

Ova je formula ovdje objašnjena.

Dobri linkovi

Odgovor na stackoverflow XOR LX

Zanimljivi članci...