Excel: укажите имя листа в другой ячейке для формулы счета

Мое намерение состоит в том, чтобы использовать косвенную формулу. Вот код, который я хочу редактировать:

=COUNTIF('sheetname'!R:R;"x")

Этот код дает #ref! ошибка:

=INDIRECT("COUNTIF('"&D85&"'!R:R;"&B98&")")

Ячейка D85 содержит sheetname и B98 содержит "x", Моя версия Excel нуждается; в формулах вместо.

Заранее спасибо за ваш опыт и время.

3 ответа

Решение

Попробуйте эту формулу:

=COUNTIF(INDIRECT("'"&D85&"'!R:R");B98)

С некоторой модификацией это работает, я надеюсь, что это хороший компромисс для вас. Модифицированная формула

=COUNTIF(INDIRECT(E1); F1)

и в этом случае, что E1 должен содержать что-то вроде

''sheetname'!R:R

(См. Двойные апострофы в начале.) F1 должен содержать "X" или другое значение, которое вы хотите посчитать.

Мой читать дальше Indirect говорит, что просто использует ссылку на ячейку, содержащуюся в ячейке, указанной вами в функции:

Indirect( cellContainingReference ) 

В этом случае вам не нужно указывать второй параметр Indirect,

Итак, используя предположения:

  • sheetName находится в камере D85
  • cellRange всегда R:R
  • criteria для подсчета есть в ячейке B98 (которая не нужна Indirect работать)
  • Ваш Excel использует ';' скорее, чем ','

Ваша формула для CountIf было бы:

=countif(indirect("'"&D85&"'!R:R"); B98) 
Другие вопросы по тегам