Как использовать несколько ячеек в формуле - PullRequest
0 голосов
/ 20 сентября 2019

Мне нужно установить диапазон для формулы countif для конкретной ячейки, которая не является полной строкой или полным столбцом, например, A1, B3, D6.При определении этих ячеек в именованном диапазоне и применении формулы countif к определенному именованному диапазону подсчет не выполняется.

Ответы [ 3 ]

3 голосов
/ 20 сентября 2019

Это должно сработать, замените "X" критериями подсчета

=SUM(COUNTIF(INDIRECT({"A1","B3","D6"}),"X"))
1 голос
/ 20 сентября 2019

Только для справки: мы можем переключиться на SUMPRODUCT и избежать Volatile INDIRECT ().

=SUMPRODUCT(--(CHOOSE({1,2,3},A1,B3,D6)=1))

Формула Volatile пересчитывается каждый раз, когда Excel пересчитывает, и слишком большое количество может замедлить время отклика Excel.

1 голос
/ 20 сентября 2019

Хорошо, это будет несколько более обширная формула, которая расширяет точный ответ, данный @ Jo.lass, но для тех, кто может найти его полезным:

=SUMPRODUCT(COUNTIF(INDIRECT(TRIM(MID(SUBSTITUTE(CELL("adres",NamedRange),",",REPT(" ",100)),100*(ROW(INDIRECT("1:"&(LEN(CELL("adres",NamedRange))-LEN(SUBSTITUTE(CELL("adres",NamedRange),",",""))+1)))-1)+1,100))),"X"))

Что это делает точно:

Он берет адрес NamedRange (изменяется соответственно) и преобразует его в строку.В вашем случае "$A1$,$B$3,$D$6".

Затем мы разбиваем эту строку на фактический массив ссылок, которые будут использоваться в INDIRECT, как и другой ответ.

Преимущество, однако, заключается в том, чтопосле того, как формула введена в действие, вам не нужно возвращаться, чтобы изменить ссылки внутри фактической формулы, что означает: когда ваш namedRange изменяется (например) сжимается / расширяется, формула соответствующим образом адаптирует свой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...