COUNTIFS для видимых столбцов

У меня проблема с COUNTIFS и видимыми данными фильтра.

У меня есть данные о разных компаниях и отправленных им товарах. Эти данные хранятся на отдельном рабочем листе. На главном листе у меня есть COUNTIFS, указывающее, сколько раз мы отправляли конкретный товар в конкретную компанию. COUNTIFS выглядит следующим образом:

=COUNTIFS('Cases '!$D:$D,C$2,'Cases '!$C:$C,$A3)

В коде peudeo он разбивается на:

=COUNTIFS('Cases'ITEMCOLUMN, SEARCHITEM,'Cases 'COMPANYCOLUMN,SEARCHEDCOMPANY)

Иногда я хочу отфильтровать рабочий лист «Обращения» на основе некоторых других критериев, но мне все еще нужен основной лист для перекрестной ссылки на количество раз, когда компания отправляла элемент, но теперь только на основе отфильтрованных результатов.

Мне указали на функцию SUBTOTAL, но она немного непонятна и, кажется, работает только для сложения отфильтрованных чисел.


person Matt Bartlett    schedule 23.10.2015    source источник
comment
как COUNTIFS перестает работать, когда вы фильтруете свой лист по каким-либо другим критериям? COUNTIFS не должно быть затронуто, однако ПРОМЕЖУТОЧНЫЕ ИТОГО наверняка затронуты.   -  person ZygD    schedule 23.10.2015
comment
Дело не в том, что COUNTIF перестает работать, а в том, что COUNTIF продолжает подсчитывать отфильтрованные записи. Например, компания может отправить 1 из 6 разных пакетов и оплатить их разными способами, и это хранится на странице данных, где каждый пакет имеет уникальный идентификатор. На главной странице есть таблица, в которой перечислены все компании в строках, вдоль столбцов указаны различные пакеты, а СЧЕТЕСЛИ ссылаются на количество пакетов, отправленных каждой компанией. Проблема, когда я фильтрую страницу данных по способу оплаты, я хочу, чтобы COUNTIFS теперь показывал только отфильтрованные результаты.   -  person Matt Bartlett    schedule 25.10.2015


Ответы (1)


Такая формула должна работать:

=SUMPRODUCT(
    SUBTOTAL(
        3,
        OFFSET(
            Sheet2!$C$2:$C$4,
            ROW(Sheet2!$C$2:$C$4)-MIN(ROW(Sheet2!$C$2:$C$4)),
            ,
            1)),
    --(Sheet2!$C$2:$C$4="a"),
    --(Sheet2!$D$2:$D$4="b"))

(надеюсь, отступ просто для лучшего понимания)

По моим данным работает. У меня есть несколько букв «а» в одном столбце и несколько букв «б» в другом. Формула подсчитывает строки, в которых присутствуют как «a», так и «b», и строка не отфильтровывается.

Дополнительная литература:
(1) http://www.mrexcel.com/forum/excel-questions/717624-subtotal-function-countif-sumif.html
(2) http://answers.microsoft.com/en-us/office/forum/office_2007-excel/how-to-use-countif-with-subtotal/de09fe89-6d98-4691-a25b-19b1a1e74bf2

person ZygD    schedule 25.10.2015
comment
Был ли ответ полезен? - person ZygD; 30.11.2015