Vzorec aplikace Excel: Extrahujte běžné hodnoty ze dvou seznamů -

Obecný vzorec

=FILTER(list1,COUNTIF(list2,list1))

souhrn

Chcete-li porovnat dva seznamy a extrahovat běžné hodnoty, můžete použít vzorec založený na funkcích FILTER a COUNTIF. V zobrazeném příkladu je vzorec v F5:

=FILTER(list1,COUNTIF(list2,list1))

kde list1 (B5: B15) a list2 (D5: D13) jsou pojmenované rozsahy. Výsledek, hodnoty, které se objeví v obou seznamech, se rozlije do rozsahu F5: F11.

Vysvětlení

Funkce FILTER přijímá pole hodnot a argument „include“, který filtruje pole na základě logického výrazu nebo hodnoty.

V tomto případě je pole poskytováno jako pojmenovaný rozsah „list1“, který obsahuje všechny hodnoty v B5: B15. Argument include je doručen funkcí COUNTIF, která je vnořená uvnitř FILTERU:

=FILTER(list1,COUNTIF(list2,list1))

COUNTIF je nastaven s list2 jako rozsah a list1 jako kritéria . Protože dáváme COUNTIF jedenáct hodnot kritérií, COUNTIF vrátí jedenáct výsledků v poli, jako je tento:

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

Všimněte si, že 1 odpovídá položkám v seznamu2, které se objevují v seznamu1.

Toto pole je dodáváno přímo do funkce FILTER jako argument „zahrnout“:

=FILTER(list1,(1;1;0;1;0;1;0;1;0;1;1))

Funkce FILTER filtruje seznam1 pomocí hodnot poskytovaných funkcí COUNTIF. Hodnoty spojené s nulou jsou odstraněny; ostatní hodnoty jsou zachovány.

Konečným výsledkem je pole hodnot, které existují v obou seznamech a které se šíří do rozsahu F5: F11.

Rozšířená logika

Ve výše uvedeném vzorci používáme jako filtr hrubé výsledky z COUNTIF. To funguje, protože Excel vyhodnotí jakoukoli nenulovou hodnotu jako TRUE a nulu jako FALSE. Pokud funkce COUNTIF vrátí počet větší než 1, filtr bude i nadále fungovat správně.

Chcete-li explicitně vynutit výsledky PRAVDA a NEPRAVDA, můžete použít „> 0“ takto:

=FILTER(list1,COUNTIF(list2,list1)>0)

Odeberte duplikáty nebo seřaďte

Chcete-li odstranit duplikáty, stačí vnořit vzorec do funkce UNIQUE:

=UNIQUE(FILTER(list1,COUNTIF(list2,list1)))

Chcete-li výsledky seřadit, vnořte je do funkce TŘÍDĚNÍ:

=SORT(UNIQUE(FILTER(list1,COUNTIF(list2,list1))))

Hodnoty seznamu chybí v seznamu2

Chcete-li vypsat hodnoty v seznamu1 chybí v seznamu2, můžete obrátit logiku takto:

=FILTER(list1,COUNTIF(list2,list1)=0)

Zajímavé články...