Excel 中下拉列表的结果总和

Excel 中下拉列表的结果总和

我正在使用下拉列表来显示观察、自我练习和教学选项卡,并且我想计算 J 列中的时间总和。是否有一个公式可以让我做到这一点?

电子表格的屏幕截图

答案1

如果单元格仅包含数字而不包含其他字符,则解决方案非常简单。如果是这种情况,则以下公式将进入单元格J2并可以向下复制,自动更新当前行总数的所有行引用:

=SUM(G2:I2)

这是 Excel 的典型使用方式,每个单元格一个想法。标签和单位在其他地方指定,例如列标题。

但是,在上述问题中,需要一个公式来隔离文本中的数字。为了降低复杂性,我们假设数字位于任何其他字符之前(前导空格是可以的)。我们进一步假设数字和任何后续字符之间至少有一个空格。
此解决方案允许空单元格、前导空格、多个空格和一个数字本身(或仅在数字之前和/或之后有空格)。

=IFERROR( NUMBERVALUE( LEFT( TRIM(F2) & " ", FIND( " ", TRIM(F2) & " " ) - 1)), 0) + IFERROR( NUMBERVALUE( LEFT( TRIM(G2) & " ", FIND( " ", TRIM(G2) & " ") - 1)) ,0) + IFERROR( NUMBERVALUE( LEFT( TRIM(H2) & " ", FIND( " ", TRIM(H2) & " ") -1 )), 0)

很复杂吧?!
这里有一个稍微紧凑一点的版本,但它是一个特殊的公式,称为数组公式。将其粘贴到单元格后,执行特殊Enter组合键使其成为数组公式。否则 Excel 可能会说公式有问题,或者结果可能不正确。

=SUM( IFERROR( NUMBERVALUE( LEFT( TRIM(F2:H2) & " ", FIND( " ", TRIM(F2:H2) & " " ) - 1)), 0))

将公式粘贴到单元格后,按Ctrl- Shift-使其成为数组公式Enter。有时,此按键组合的缩写是 CSE(Control Shift Enter)。
每次编辑数组公式时,请按 CSE。

相关内容