
Общая формула
=COUNTIFS(INDEX(Table,0,MATCH(name,Table(#Headers),0)),criteria))
Резюме
Чтобы использовать COUNTIFS со столбцом таблицы переменных, вы можете использовать INDEX и MATCH для поиска и извлечения столбца для COUNTIFS. В показанном примере формула H5 имеет следующий вид:
=COUNTIFS(INDEX(Table1,0,MATCH(G5,Table1(#Headers),0)),"x")
Объяснение
Во-первых, для контекста важно отметить, что вы можете использовать COUNTIFS с регулярной структурированной ссылкой, например:
=COUNTIFS(Table1(Swim),"x")
Это гораздо более простая формула, но вы не можете скопировать ее в столбец H, потому что ссылка на столбец не изменится.
Таким образом, пример на этой странице предназначен для демонстрации одного из способов создания формулы, которая ссылается на таблицу с переменной ссылкой на столбец.
Работая изнутри наружу, функция ПОИСКПОЗ используется для нахождения позиции имени столбца, указанного в столбце G:
MATCH(G5,Table1(#Headers),0)
ПОИСКПОЗ использует значение в G5 в качестве значения поиска, заголовки в таблице 1 для массива и 0 для типа соответствия, чтобы обеспечить точное совпадение. Результатом для G5 является 2, которое переходит в ИНДЕКС как номер столбца:
INDEX(Table1,0,2,0))
Обратите внимание, что номер строки был установлен на ноль, что заставляет INDEX возвращать весь столбец, которым в этом примере является C5: C13.
Эта ссылка обычно переходит в COUNTIFS:
=COUNTIFS(C5:C13,"x")
СЧЁТЕСЛИМН подсчитывает ячейки, содержащие «x», и возвращает результат, в данном случае 5.
Когда формула копируется в столбец H, ИНДЕКС и ПОИСКПОЗ возвращают правильную ссылку столбца на СЧЁТЕСЛИМН в каждой строке.
Альтернатива с НЕПРЯМОЙ
Функцию ДВССЫЛ можно также использовать для установки ссылки на столбец переменной следующим образом:
=COUNTIFS(INDIRECT("Table1("&G5&")"),"x")
Здесь структурированная ссылка собрана в виде текста, а КОСВЕННО оценивает текст как правильную ссылку на ячейку.
Примечание. INDIRECT - это непостоянная функция, которая может вызвать проблемы с производительностью в больших или более сложных книгах.