2016-04-24 10 views
0

Я пытаюсь COUNTA() диапазон ячеек в одном столбце.И(), кажется, обманывает функцию FILTER()?

Когда я использую только FILTER() с обычными условиями, тогда это нормально.

=COUNTA(iferror(filter(F1:F10;left(F1:F10)=5))) 

возвращает истинное число (7 в этом случае, поскольку 7 ячеек имеют 5 в качестве первой цифры).

Но когда я пытаюсь использовать FILTER() и одно из условий, закрытых внутри AND(), то он терпит неудачу.

=COUNTA(iferror(filter(F1:F10;and(left(F1:F10)=5)))) 

возвращает 0. На мой взгляд, он также должен вернуться 7.

Я хочу использовать AND(), чтобы сделать более сложные условия, но он не только в самом начале. У вас есть идеи, почему?

ответ

1

фильтр может использоваться с несколькими условиями И (ИЛИ).

"И" логика

=COUNTA(iferror(filter(F1:F10;left(F1:F10)="5";D1:D10="my condition"))) 

и это работает:

=COUNTA(iferror(filter(F1:F10;(left(F1:F10)="5")*(D1:D10="my condition")))) 

"ИЛИ" логика

=COUNTA(iferror(filter(F1:F10;(left(F1:F10)="5")+(D1:D10="my condition")))) 
+0

Спасибо за альтернативное решение, Макс! Это отлично работает. Тем не менее мне все еще интересно, почему использование AND() вызывает FILTER(). – friedman

+0

Я предполагаю, что это не удалось, потому что это не правильный синтаксис для функции 'FILTER()'. Он ожидает очень специфический синтаксис, а 'AND()' не включен. –

 Смежные вопросы

  • Нет связанных вопросов^_^