Предполагая, что лист, на котором вы сохранили свой список кодов, называется CodeSheet
={SUM(IF(IFERROR(MATCH(f3:t3,CodeSheet!$A$8:$A$22,0),0)>0,f4:t4))}
Это формула массива. Введите его без фигурных скобок и нажмите control-shift-enter. Excel вставит фигурные скобки для вас.
Как это устроено:
MATCH(f3:t3,CodeSheet!$A$8:$A$22,0)
CodeSheet!$ A $ 8:$ A $ 22 - ваш список кодов, которые относятся к категории простоя.
Match ищет каждое из значений в f3:t3 и находит их позицию в этом списке (если есть). Поскольку это формула массива, он может возвращать массив, подобный этому {#N/A,#N/A,#N/A,#N/A,11, #N/A,#N/A,....
Везде, где нет совпадения, возвращается ошибка. В других местах это дает место в списке, где совпадение было найдено. (В данном случае "PL" был 11-м кодом простоя в списке)
Мы хотим выбросить ошибки, поэтому мы заключаем их в iferror
IFERROR(MATCH(F1:M1,CodeSheet!$A$8:$A$22,0),0)
Любое из значений ошибок в этом массиве, которые заменяются на 0. (ЛОЖНЫЙ)
выход = {0,0,0,0, 11, 0...
Каждое ненулевое значение в нашем новом массиве мы заменяем значением в соответствующей ячейке строки минут:
IF(IFERROR(MATCH(F1:M1,CodeSheet!$A$8:$A$22,0),0)>0,F2:M2)
Это заменит "11" значением под PL в строке 4.
выход = {0,0,0,0, 15, 0...
Ничего не осталось, как подвести итог!
Надеюсь, это поможет.