
Generieke formule
=COUNTIFS(INDEX(Table,0,MATCH(name,Table(#Headers),0)),criteria))
Samenvatting
Om COUNTIFS te gebruiken met een variabele tabelkolom, kunt u INDEX en MATCH gebruiken om de kolom voor COUNTIFS te zoeken en op te halen. In het getoonde voorbeeld is de formule in H5:
=COUNTIFS(INDEX(Table1,0,MATCH(G5,Table1(#Headers),0)),"x")
Uitleg
Ten eerste is het voor de context belangrijk op te merken dat u COUNTIFS kunt gebruiken met een gewone gestructureerde referentie zoals deze:
=COUNTIFS(Table1(Swim),"x")
Dit is een veel eenvoudigere formule, maar u kunt deze niet naar kolom H kopiëren, omdat de kolomverwijzing niet verandert.
Het voorbeeld op deze pagina is daarom bedoeld om een manier te laten zien om een formule in te stellen die verwijst naar een tabel met een variabele kolomverwijzing.
Werkend van binnen naar buiten, wordt de MATCH-functie gebruikt om de positie van de kolomnaam in kolom G te vinden:
MATCH(G5,Table1(#Headers),0)
VERGELIJKEN gebruikt de waarde in G5 als opzoekwaarde, de kopteksten in Tabel1 voor matrix en 0 voor overeenkomsttype om een exacte overeenkomst te forceren. Het resultaat voor G5 is 2, dat naar INDEX gaat als het kolomnummer:
INDEX(Table1,0,2,0))
Let op het rijnummer is ingesteld op nul, waardoor INDEX de volledige kolom retourneert, wat in dit voorbeeld C5: C13 is.
Deze verwijzing gaat normaal naar AANTAL.ALS:
=COUNTIFS(C5:C13,"x")
AANTAL.ALS telt cellen die "x" bevatten en retourneert het resultaat, in dit geval 5.
Wanneer de formule in kolom H wordt gekopieerd, retourneren INDEX en MATCH de juiste kolomverwijzing naar COUNTIFS bij elke rij.
Alternatief met INDIRECT
De INDIRECTE functie kan ook worden gebruikt om een variabele kolomverwijzing als volgt in te stellen:
=COUNTIFS(INDIRECT("Table1("&G5&")"),"x")
Hier wordt de gestructureerde verwijzing als tekst samengesteld en INDIRECT evalueert de tekst als een juiste celverwijzing.
Opmerking: INDIRECT is een vluchtige functie en kan prestatieproblemen veroorzaken in grotere of meer gecompliceerde werkmappen.