答案1
假设你存储代码列表的工作表名为代码表
={SUM(IF(IFERROR(MATCH(f3:t3,CodeSheet!$A$8:$A$22,0),0)>0,f4:t4))}
这是一个数组公式。输入时不要使用花括号,然后按 Control-Shift-Enter。Excel 会为您添加花括号。
怎么运行的:
代码表!$A$8:$A$22是属于停机类别的代码列表。 Match 查找 f3:t3 中的每个值,并找到它们在该列表中的位置(如果有)。 由于它是一个数组公式,它可以返回像这样的数组,
{#N/A,#N/A,#N/A,#N/A,11, #N/A,#N/A,....
如果未找到匹配项,则会返回错误。 在其他地方,它会给出列表中遇到匹配项的位置。 (在本例中,“PL”是列表中的第 11 个停机代码)
我们想抛出错误,所以我们把它包装起来iferror
该数组中的任何错误值都被替换为 0。(FALSE)
输出 ={0,0,0,0, 11, 0...
我们将新数组中的每个非零值替换为分钟行相应单元格中的值:
IF(IFERROR(MATCH(F1:M1,CodeSheet!$A$8:$A$22,0),0)>0,F2:M2)
这会将“11”替换为第 4 行 PL 下方的值。输出 ={0,0,0,0, 15, 0...
除了总结之外没有别的事要做了!
希望有所帮助。