![Excel 中下拉列表的结果总和](https://linux22.com/image/1582897/Excel%20%E4%B8%AD%E4%B8%8B%E6%8B%89%E5%88%97%E8%A1%A8%E7%9A%84%E7%BB%93%E6%9E%9C%E6%80%BB%E5%92%8C.png)
我正在使用下拉列表来显示观察、自我练习和教学选项卡,并且我想计算 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。