![](https://cdn.wiki-base.com/6261185/excel_formula_filter_values_in_array_formula__2.png.webp)
Formula generica
(=IF(ISNUMBER(MATCH(data,filter,0)),data))
Sommario
Per filtrare i dati in una formula di matrice (per escludere o richiedere determinati valori), è possibile utilizzare una formula di matrice basata sulle funzioni IF, MATCH e ISNUMBER.
Nell'esempio mostrato, la formula in H5:
(=COUNT(IF(ISNUMBER(MATCH(data,filter,0)),data)))
dove "dati" è l'intervallo denominato B4: D11 e "filtro" è l'intervallo denominato F4: F6.
Nota: questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.
Spiegazione
- La funzione CONFRONTA confronta tutti i valori nell'intervallo denominato "dati" rispetto ai valori in "filtro"
- ISNUMBER converte i valori corrispondenti in TRUE e i valori non corrispondenti in FALSE
- IF utilizza l'output dell'array in # 2 sopra per filtrare i valori, escludendo i valori in "filter"
L'array finale ha questo aspetto:
(1, FALSE, 3; FALSE, 4, FALSE; FALSE, FALSE, FALSE; 1, FALSE, 3; FALSE, FALSE, FALSE; 3, FALSE, FALSE; FALSE, 4, FALSE; FALSE, FALSE, 4)
COUNT viene utilizzato solo per verificare il risultato.
Filtra per escludere
Nella cella H6 la formula è stata modificata per escludere i valori utilizzando 1-ISNUMBER in questo modo:
=COUNT(IF(1-ISNUMBER(MATCH(data,filter,0)),data))
Ciò inverte efficacemente l'output dell'array nel passaggio # 2 sopra.