Excel 2013,SUMIFS 公式

Excel 2013,SUMIFS 公式

我认为我需要为此使用 SUMIFS 函数,但我不确定。我有一份代码列表:

所有这些代码都属于停机时间类别,每个代码也有 5、10、15、40、65 分钟等。我的工作表中有当天的所有这些代码,我需要停机时间的总分钟数。总和适用于只有一个代码的其他类别,但我不知道如何使多个条件起作用,我实际上没有多个条件。只是如果你看到 FP 将其放入停机时间并添加分钟数。 在此处输入图片描述在此处输入图片描述

答案1

假设你存储代码列表的工作表名为代码表

={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) 在此处输入图片描述

代码表!$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。(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...

在此处输入图片描述

除了总结之外没有别的事要做了!

希望有所帮助。

相关内容