Работая на шаг выше, чем COUNTIFS, я ставлю задачу написать формулу без кода VBA. Исходные данные объединяются из 1000 строк:
- Столбец A: строки со значениями от 1 до 3
- Столбец B: строки со значениями от 1 до 250.
Для этого, скажем, мы смотрим на все ячейки значения "1" в столбце A, которые соответствуют значению "5" в столбце B. Чтобы найти все совпадения, мы использовали команду COUNTIFS.
1 1
2 5
1 5
1 7
1 10
3 45
2 12
1 2
2 1
=COUNTIFS(A1:A9;1;B1:B9;5)
Ответ здесь 1.
Далее, "5" в столбце B принадлежит группе, например, группе от 1 до 9. Как лучше всего посчитать все совпадения в этом примере, чтобы для всех "1" в столбце A нам нужно было найти все совпадения со значениями от 1 до 9 в столбце B?! В верхнем примере это приведет к "4". Очевидное решение - с помощью серии команд IF, но это неэффективно, и легко допустить ошибку, которая легко контролируется.
=COUNTIFS(A1:A9;1;B1:B9;"<="&9)
Работает только как верхний предел. Если я задаю третий диапазон критериев и условие как "> =" & 1, оно не работает - возвращает 0.
Я заметил, что три диапазона критериев и условия работают, только если я использую знак "=" в условии. Как только я использую
=COUNTIFS(A1:A9;1;B1:B9;"<="&9,B1:B9;">=1")
он возвращает 0. Моя цель состоит в том, чтобы в конечном итоге заменить число в условии командой VLOOKUP, поэтому окончательное уравнение должно быть чем-то вроде
=COUNTIFS(A1:A9;1;B1:B9;"<="&VLOOKUP(...),B1:B9;">=VLOOKUP(...)")
Но знаки "<" и ">" портят это. Все еще ищу решение.
дешевая сигарета