Forum Discussion

Юриван's avatar
Юриван
Copper Contributor
May 13, 2024

Счётз и Фильтр - Функции Excel

Здравствуйте! Никак не разберусь:

При оборачивании функцией Счётз функции Фильтр выдается (1) вместо (0): если объединить со знаком (*) три условия во втором аргументе функции Фильтр (включение) , и в случае отсутствия значений по указанным условиям.

Что не так?

 

5 Replies

  • Юриван 

    Счётз подсчитывает количество всех значений в диапазоне. Ошибки это тоже значения и они будут считаться. Так как фильтр возначает только одну величину (и это ошибка), то количество возвращаемых величин равно единице.

    Лучше обрабатывать возможные ошибки в формулах. Как вариант 

    = LET( f, ФИЛЬТР(диапазон, условия), ЕСЛИ(ЕОШИБКА(f), 0, СЧЁТЗ(f)   ) )
  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Юриван 

    Когда вы используете функцию Фильтр с функцией СЧЁТЗ, чтобы подсчитать количество значений, удовлетворяющих определенным условиям, и если не найдено ни одного значения, функция Фильтр возвращает ошибку #ПРОПУСК!, которая интерпретируется как (1) в функции СЧЁТЗ.

    Для исправления этой проблемы, вы можете использовать функцию ПОДСЧЁТЕСЛИ для подсчета количества значений, которые удовлетворяют вашим условиям вместо функции СЧЁТЗ. Вот пример того, как это можно сделать:

    =ПОДСЧЁТЕСЛИ(ФИЛЬТР(диапазон_данных, условие), "<>0")

    =COUNTIF(FILTER(data_range, condition), "<>0") in English

    В этой формуле:

    • диапазон_данных - это ваш диапазон данных, в котором вы хотите выполнить фильтрацию.
    • условие - это условие, которому должны соответствовать данные для включения их в результаты.
    • "<>0" - это условие для функции ПОДСЧЁТЕСЛИ, которое подсчитывает все значения, кроме нулевых.

    Эта формула вернет количество значений, удовлетворяющих вашему условию, и если ни одного значения не будет найдено, она вернет (0) вместо (1).

    Тексты, шаги и функции были созданы с использованием искусственного интеллекта.

     

    Мои ответы добровольны и без гарантий!

     

    *Текст переведен с помощью программного обеспечения. Могут быть грамматические или фразовые ошибки.

     

    Я надеюсь, это поможет вам.

    Был ли ответ полезен? Отметить как лучший ответ и поставить лайк!

    Это поможет всем участникам форума.

    • Юриван's avatar
      Юриван
      Copper Contributor
      Здравствуйте! Спасибо за ответ!
      Функция COUNTIF не отрабатывает, если есть три условия.
      Пример: (если дано: _c, _a, _e, _f = каждый свой непересекающийся диапазон, заданный LET-ƒ(х), то не работает:
      COUNTIF(ФИЛЬТР(_c;
      (_a=A2)*((_e="х")*(_f>0)));
      "<>0")
      • SergeiBaklan's avatar
        SergeiBaklan
        MVP

        Юриван 

        Но по большому счёту ту ни то ни другое не нужно, достаточно

         

        =SUM( (rangeA=A2)*(rangeE="x")*(rangeF>0) )

         

Resources