Отфильтруйте критерии фильтра, а затем примените в выражении счета в Excel - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть таблица критериев фильтра, подобная этой:

+----------+----------+------+------+------+
| Category | SpecName | Spec | Pass | Fail |
+----------+----------+------+------+------+
| A        | S1       |    3 |      |      |
| A        | S2       |    4 |      |      |
| B        | S1       |    5 |      |      |
| C        | S1       |    2 |      |      |
+----------+----------+------+------+------+

У меня есть таблица, к которой я хочу применить критерии фильтра, например:

+----------+----+----+
| Category | S1 | S2 |
+----------+----+----+
| A        |  5 |  3 |
| B        |  4 |    |
| A        |  5 |  5 |
| C        |  2 |    |
| A        |  2 |  6 |
+----------+----+----+

Я хочу заполнитьстолбцы Pass и Fail в таблице критериев фильтрации с количеством элементов во второй таблице со значениями> = соответствующей спецификации, например, так.

+----------+----------+------+------+------+
| Category | SpecName | Spec | Pass | Fail |
+----------+----------+------+------+------+
| A        | S1       |    3 |    1 |    2 |
| A        | S2       |    4 |    1 |    2 |
| B        | S1       |    5 |    0 |    1 |
| C        | S1       |    2 |    1 |    0 |
+----------+----------+------+------+------+

Вот шаги, как я могу сделать это в сценарииязык:

  1. Отфильтруйте первую таблицу, чтобы получить все критерии фильтра спецификаций для категории в этой строке, как показано для первой строки.
+----------+----------+------+
| Category | SpecName | Spec |
+----------+----------+------+
| A        | S1       |    3 |
| A        | S2       |    4 |
+----------+----------+------+
Копировать таблицу 2 в переменную iTable
+----------+----+----+
| Category | S1 | S2 |
+----------+----+----+
| A        |  5 |  3 |
| B        |  4 |    |
| A        |  5 |  5 |
| C        |  2 |    |
| A        |  2 |  6 |
+----------+----+----+
Для каждого имени спецификации: Найти столбец в iTable с именем спецификации. Фильтровать имя столбца спецификации в iTable по спецификации После применения всех фильтров у нас будет:
+----------+----+----+
| Category | S1 | S2 |
+----------+----+----+
| A        |  5 |  5 |
+----------+----+----+
Затем просто подсчитайте строки в iTable и присвойте ячейку в Pass столбце таблицы критериев

Возможно ли это с формулами Excel?

Если нет, кто-нибудь знает, как это сделать с VBA?

1 Ответ

0 голосов
/ 19 сентября 2018

Глядя на альтернативный макет для ваших критериев спецификации.Расширяйте свои столбцы в соответствии с вашими потребностями.

Alt Table 1 Layout

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

На основе таблицы в конце макета поместите следующую формулу в D3 и, при необходимости, скопируйте ее.

=SUMPRODUCT(($G$2:$G$6=A3)*($H$2:$H$6>=B3)*($I$2:$I$6>=C3))

Это даст вам счет прохождения всех критериев.Это также функция, которая выполняет массив, как calcs.Это можно повторить в следующем столбце, но чтобы уменьшить зависимость от вычисления массива и, возможно, ускорить процесс в зависимости от объема проверяемых данных, поместите следующее в верхнюю часть столбца сбоя и, при необходимости, скопируйте:

=COUNTIF($G$2:$G$6,A3)-D3

В основном это вычитает проходы из общего количества.Это предполагает, что в качестве опций вы можете использовать только PASS и FAIL.

POC

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