Предполагая, что лист, на котором вы сохранили свой список кодов, называется 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. output = {0,0,0,0, 15, 0...
Ничего не осталось, как подвести итог!
Надеюсь, это поможет.