Formula Excel: COUNTIFS con colonna tabella variabile -

Sommario

Formula generica

=COUNTIFS(INDEX(Table,0,MATCH(name,Table(#Headers),0)),criteria))

Sommario

Per utilizzare COUNTIFS con una colonna di tabella variabile, è possibile utilizzare INDEX e MATCH per trovare e recuperare la colonna per COUNTIFS. Nell'esempio mostrato, la formula in H5 è:

=COUNTIFS(INDEX(Table1,0,MATCH(G5,Table1(#Headers),0)),"x")

Spiegazione

Innanzitutto, per contesto, è importante notare che puoi utilizzare COUNTIFS con un riferimento strutturato regolare come questo:

=COUNTIFS(Table1(Swim),"x")

Questa è una formula molto più semplice, ma non puoi copiarla nella colonna H, perché il riferimento alla colonna non cambierà.

L'esempio in questa pagina quindi ha lo scopo di mostrare un modo per impostare una formula che fa riferimento a una tabella con un riferimento di colonna variabile.

Lavorando dall'interno verso l'esterno, la funzione CONFRONTA viene utilizzata per trovare la posizione del nome della colonna elencato nella colonna G:

MATCH(G5,Table1(#Headers),0)

CONFRONTA utilizza il valore in G5 come valore di ricerca, le intestazioni in Tabella1 per l'array e 0 per il tipo di corrispondenza per forzare una corrispondenza esatta. Il risultato per G5 è 2, che va in INDICE come numero di colonna:

INDEX(Table1,0,2,0))

Notare che il numero di riga è stato impostato su zero, il che fa sì che INDICE restituisca l'intera colonna, che è C5: C13 in questo esempio.

Questo riferimento va normalmente a COUNTIFS:

=COUNTIFS(C5:C13,"x")

CONTA.SE conta le celle che contengono "x" e restituisce il risultato, 5 in questo caso.

Quando la formula viene copiata nella colonna H, INDICE e CONFRONTA restituiscono il riferimento di colonna corretto a CONTA.SE in ogni riga.

Alternativa con INDIRETTO

La funzione INDIRETTO può essere utilizzata anche per impostare un riferimento di colonna variabile come questo:

=COUNTIFS(INDIRECT("Table1("&G5&")"),"x")

Qui, il riferimento strutturato viene assemblato come testo e INDIRETTO valuta il testo come un riferimento di cella appropriato.

Nota: INDIRETTO è una funzione volatile e può causare problemi di prestazioni in cartelle di lavoro più grandi o complicate.

Articoli interessanti...