
Fórmula genérica
=COUNTIFS(INDEX(Table,0,MATCH(name,Table(#Headers),0)),criteria))
Resumo
Para usar COUNTIFS com uma coluna de tabela variável, você pode usar INDEX e MATCH para localizar e recuperar a coluna para COUNTIFS. No exemplo mostrado, a fórmula em H5 é:
=COUNTIFS(INDEX(Table1,0,MATCH(G5,Table1(#Headers),0)),"x")
Explicação
Primeiro, para contextualizar, é importante observar que você pode usar COUNTIFS com uma referência estruturada regular como esta:
=COUNTIFS(Table1(Swim),"x")
Esta é uma fórmula muito mais simples, mas você não pode copiá-la na coluna H, porque a referência da coluna não mudará.
O exemplo nesta página, portanto, pretende mostrar uma maneira de configurar uma fórmula que faz referência a uma tabela com uma referência de coluna variável.
Trabalhando de dentro para fora, a função MATCH é usada para encontrar a posição do nome da coluna listada na coluna G:
MATCH(G5,Table1(#Headers),0)
MATCH usa o valor em G5 como valor de pesquisa, os cabeçalhos na Tabela1 para array e 0 para tipo de correspondência para forçar uma correspondência exata. O resultado para G5 é 2, que vai para INDEX como o número da coluna:
INDEX(Table1,0,2,0))
Observe que o número da linha foi definido como zero, o que faz com que INDEX retorne a coluna inteira, que é C5: C13 neste exemplo.
Esta referência vai para COUNTIFS normalmente:
=COUNTIFS(C5:C13,"x")
COUNTIFS conta as células que contêm "x" e retorna o resultado, 5 neste caso.
Quando a fórmula é copiada para a coluna H, INDEX e MATCH retornam a referência de coluna correta para COUNTIFS em cada linha.
Alternativa com INDIRETO
A função INDIRETO também pode ser usada para configurar uma referência de coluna variável como esta:
=COUNTIFS(INDIRECT("Table1("&G5&")"),"x")
Aqui, a referência estruturada é montada como texto e INDIRECT avalia o texto como uma referência de célula adequada.
Nota: INDIRETO é uma função volátil e pode causar problemas de desempenho em pastas de trabalho maiores ou mais complicadas.