Пропуск ячеек в IF / CountIf - PullRequest
0 голосов
/ 17 мая 2018

Я сделал эту формулу:

=IF(COUNTIF(D5:D8,">0")<>H5,"Yes","No")

Работает нормально, но мне нужно COUNTIF, чтобы пропустить 5 ячеек, когда я перетаскиваю их вниз.Таким образом, D5:D8 будет D10:D13 следующей ячейкой, затем D15:D18 и так далее.Я не могу понять, как это сделать, и я действительно не хочу вручную менять 170+ ячеек.
Если кто-то может помочь, я был бы очень признателен.

Ответы [ 3 ]

0 голосов
/ 17 мая 2018

Если вы добавите вспомогательный столбец рядом с вашей формулой, который выполняется с шагом 5, вы можете использовать OFFSET, чтобы получить перетаскивание вниз, которое будет постоянно смещаться так, как вы хотите: (J1 будет вашим вспомогательным столбцом)

=IF(COUNTIF(OFFSET($D$5:$D$8,J1,0),">0")<>H5,"Yes","No")

Это также может быть подставлено в формулу с использованием (ROW (ссылка на эту строку) - начальная строка формулы) * 5

=IF(COUNTIF(OFFSET($D$5:$D$8,(ROW(J1)-1)*5,0),">0")<>H5,"Yes","No")
0 голосов
/ 17 мая 2018

Как указал @Wedge, OFFSET с ROW - хороший путь:

=IF(COUNTIF(OFFSET($D$5:$D$8,(ROW(1:1)-1)*5,0),">0")<>H5,"Yes","No")

Однако , OFFSET является энергозависимой функцией .Если вы злоупотребите ею, это замедлит работу вашей книги.

Этого можно избежать, используя вместо этого INDEX:

=IF(COUNTIF(INDEX(D:D,ROW(1:1)*5):INDEX(D:D,ROW(1:1)*5+3),">0")<>H5,"Yes","No")
0 голосов
/ 17 мая 2018

Это не проверено, но я считаю, что следующее должно помочь:

=IF(COUNTIF(INDIRECT("D" & (ROW(I1)-1)*5+5):INDIRECT("D" & (ROW(I1)-1)*5+8),">0")<>H5,"Yes","No")

Допущения: формула находится в столбце I и начинается с I1, вам может потребоваться скорректировать -1 после строки

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