
Generisk formel
=UNIQUE(FILTER(data,(range1="b")*(range2>5)))
Sammanfattning
För att extrahera en lista med unika värden från en uppsättning data, medan du tillämpar ett eller flera logiska kriterier, kan du använda UNIQUE-funktionen tillsammans med FILTER-funktionen. I exemplet som visas är formeln i D5:
=UNIQUE(FILTER(B5:B16,(C5:C16="b")*(D5:D16>5)))
som returnerar de 3 unika färgerna i grupp B med en kvantitet> 5.
Förklaring
I det här exemplet används UNIQUE-funktionen tillsammans med FILTER-funktionen. FILTER-funktionen tar bort data som inte uppfyller de nödvändiga kriterierna och UNIQUE-funktionen begränsar ytterligare resultaten till endast unika värden.
FILTER-funktionen arbetar inifrån och ut för att samla in källdata i grupp B med en kvantitet större än 5:
FILTER(B5:B16,(C5:C16="b")*(D5:D16>5)) // group is b, qty over 5
Insiderfilter, uttrycket som används för inkluderingsargumentet:
(C5:C16="b")*(D5:D16>5)
Detta är ett exempel på att använda boolesk logik för att konstruera nödvändiga logiska kriterier. Resultatet är en boolesk matris så här:
(0;1;0;0;0;1;0;1;0;0;1;1)
Denna matris används för att filtrera data, och FILTER-funktionen returnerar en annan matris som ett resultat:
("amber";"purple";"purple";"pink";"pink")
Denna matris returneras till UNIQUE-funktionen som arrayargument . UNIQUE tar sedan bort dubbletter och returnerar den slutliga matrisen:
("amber";"purple";"pink")
UNIQUE och FILTER är dynamiska funktioner. Om källdata ändras uppdateras utdata omedelbart.
Dynamiskt källområde
Eftersom intervallen är hårddiskade direkt i formeln kommer de inte att ändra storlek om källdata läggs till eller tas bort. Om du vill använda ett dynamiskt omfång som automatiskt ändras när det behövs kan du använda en Excel-tabell eller skapa ett dynamiskt namnintervall med en formel.