Суммирование результата вложенных операторов IF в одной ячейке - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть довольно сложная условная формула, которая работает для каждой строки столбца (извините, не в Excel 2016 IFS), и я хотел бы получить сумму всех экземпляров в диапазоне в одной формуле без необходимости делать всестроки в качестве среднего шага.

Совершенно немного сделано с другими вещами, но по какой-то причине я застрял на этом.

Формула для каждой ячейки:

=IF((IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<1),0,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<2,1,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<5,2,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<13,3,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<34,4,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<91,5,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<245,6,IF(IF(IF(AND(ISNUMBER(Test_Samples!B2),Test_Samples!B2>0.1),Reference_Dataset!$H:$H,"")="N",Test_Samples!B2,0)<666,7,))))))))

Я хотел бы преобразовать его в формулу, которая суммирует все из диапазона B: B (или B2: B499) за один раз.

Я попробовал немного SUM иSUMIF (S) и изменение B2 на B: B.Кажется, это не сработает.

О, если у кого-то есть совет уменьшить вложенную формулу IF до чего-то более удобочитаемого, это тоже приветствуется.Идея формулы состоит в том, чтобы преобразовать счетчики в классы.

Наборы данных, на которые ссылаются, выглядят следующим образом:

Test_Samples:

enter image description here

Reference_Dataset:

enter image description here

Операторы If составляют следующую классификацию:

0 = 0

1 = 1

2 = 2-4

3 = 5-12

4 = 13-33

5 = 34-90

6 = 91-244

7 = 245-665

8 = 666+

Здесь вы видите счет 2 в "Test_samples"", и он помечен как" N "в" Reference_dataset ", поэтому результат классифицирует его как" 2 "(чтобы избежать путаницы: если бы количество было 5, оно было бы помечено" 3 "в соответствии с критериями класса).Скажем, если есть 5 экземпляров с результатом "2" в диапазоне B2: B499, сумма должна быть 10.

1 Ответ

2 голосов
/ 15 апреля 2019

Создайте подобную таблицу поиска для своего «значения результата

Test_Samples B Value
0
1
2
5
13
34
91
245
666

В этом примере я поместил это на тот же рабочий листчто формула находится в ячейках A1: A10 (заголовок в A1, поэтому значения данных в A2: A10).Затем вы можете упростить формулу и сделать так, чтобы она ссылалась на диапазон ваших данных следующим образом:

=SUM(MATCH(IF(ISNUMBER(Test_Samples!$B$2:$B$499)*(Reference_Dataset!$H$2:$H$499="N"),Test_Samples!$B$2:$B$499,0),$A$2:$A$10)-1)

Обратите внимание, что это формула массива, и как таковая должна быть подтверждена с помощью Ctrl Shift Введите (вместо просто Введите ).

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