Подсчет строк в таблице Excel, где столбцы удовлетворяют нескольким критериям (имитация критериев с несколькими фильтрами) - PullRequest
0 голосов
/ 28 марта 2019

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

Допустим, у меня естьСледующая таблица Excel:

A   B   C
a1  b1  c1
a2  b2  c1
a1  b2  c2
a2  b1  c2
a1  b3  c3
a3  b1  c3

сохранена в таблице Excel под именем: Table1, и я хотел бы найти все строки, для которых столбец A имеет значение a1 или a2 истолбец B имеет значение: b1.Результат должен быть 2.

Я могу сделать это, используя функцию SUMPRODUCT и преобразовав логическое значение в [0,1], используя оператор --:

= SUMPRODUCT(--(Table1[A]="a1"),--(Table1[B]="b1")) 
   + SUMPRODUCT(--(Table1[A]="a2"),--(Table1[B]="b1"))

В моемВ действительности, у меня более трех столбцов, и хотя бы один из них может удовлетворять нескольким критериям, поэтому мне интересно, есть ли способ сделать это с менее подробным синтаксисом.Например, я пытался что-то вроде этого, но это не работает:

= SUMPRODUCT(--(Table1[A]="a1|ab2"),--(Table1[B]="b1"))

или

=SUMPRODUCT(--(Table1[A]=OR("a1", "a2")), --(Table1[B]="b1"))

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

Кажется, это хороший прием для представления в формуле Excel действия с несколькими критериями фильтрации, но формула Excel очень многословна, когда в столбце она должна удовлетворять более чем одному условию, как в примере выше.

По моему решению было бы что-то вроде этого для подсчета строк в таблице, где для каждого столбца мы фильтруем только по одному значению, кроме первого столбца A, который мы фильтруем по двум возможным значениям:

= SUMPRODUCT(--(Table1[A]="a1"),--(Table1[B]="b1"), 
    --(Table1[C]="c1"), ...Table1[Z]="z1"))
  + SUMPRODUCT(--(Table1[A]="a2"),--(Table1[B]="b1"), 
    --(Table1[C]="c1"), ...Table1[Z]="z1"))

1 Ответ

1 голос
/ 28 марта 2019

Попробуйте:

=SUMPRODUCT((Table1[A]="a1")+(Table1[A]="a2"),--(Table1[B]="b1"))

Поскольку ни одна из указанных ячеек не может быть одновременно "a1" и"a2", сумма будет 1, если любое из них истинно, и 0если ни то, ни другое не верно

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