
Obecný vzorec
(=TEXTJOIN(", ",TRUE,IF(rng1=E5,rng2,"")))
souhrn
Chcete-li vyhledat a načíst více shod v seznamu odděleném čárkami (v jedné buňce), můžete použít funkci IF s funkcí TEXTJOIN. V zobrazeném příkladu je vzorec v F5:
(=TEXTJOIN(", ",TRUE,IF(group=E5,name,"")))
Toto je vzorec pole a musí být zadán pomocí kláves Control + Shift + Enter.
Tento vzorec používá pojmenované rozsahy „name“ (B5: B11) a „group“ (C5: C11).
Vysvětlení
Jádrem tohoto vzorce je funkce IF, která „filtruje“ názvy v tabulce podle barev takto:
IF(group=E5,name,""))
Logický test zkontroluje u každé buňky v pojmenované oblasti „skupina“ hodnotu barvy v E5 (v tomto případě červená). Výsledkem je pole jako toto:
(FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;TRUE)
Tento výsledek se zase použije k filtrování jmen z pojmenovaného rozsahu „name“:
("Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George")
U každého PRAVDA přežije název, u každého NEPRAVDA vrátí IF prázdný řetězec ("").
Výsledkem IF vypadá toto pole:
("";"";"Jude";"Aya";"";"";"George")
který jde do funkce TEXTJOIN jako text1.
TEXTJOIN je nakonfigurován tak, aby jako oddělovač používal čárku a ignoroval prázdné hodnoty. Konečným výsledkem je tento textový řetězec:
„Jude, Aya, George“
Několik podmínek
Ve vzorci pole nemůžete použít funkce AND nebo OR, protože vracejí pouze jeden výsledek. Logickou logiku můžete použít takto pro AND:
=TEXTJOIN(", ",TRUE,IF((condition1)*(condition2),name,""))
Podrobněji vysvětleno zde.