Excel公式技巧98:总计单元格文本中的数字

excelperfect

有些需求看起来很特别,但有时候确实会发生,而这往往是由于数据不规范造成的,例如下图1所示的示例。

图1

单元格区域A2:B19中是记录每月一些物品的领用数据,但是数值和物品名称输入到了一起,现在需要分别统计每种物品领用数量的总和。

幸好,输入的数据还是很有规律的,即都是数字加上物品名称,因此还是可以很方便地使用公式来得到结果。

在单元格D3中输入数组公式:

=SUM(IF(SUBSTITUTE(B2:B19,D2,'')<>B2:B19,SUBSTITUTE(B2:B19,D2,'')+0))& ' ' & D2

在单元格E3中输入数组公式:

=SUM(IF(SUBSTITUTE(B2:B19,E2,'')<>B2:B19,SUBSTITUTE(B2:B19,E2,'')+0))& ' ' & E2

在单元格F3中输入数组公式:

=SUM(IF(SUBSTITUTE(B2:B19,F2,'')<>B2:B19,SUBSTITUTE(B2:B19,F2,'')+0))& ' ' & F2

最终的结果如下图2所示。

图2

注意,由于是数组公式,应该按下Ctrl+Shift+Enter键才算完成了公式,Excel会在公式两端自动加上花括号。

在公式中,我们人为地将数据中的物品名称替换为空,然后与原数据进行对比,那么那些不相等的数据自然就是替换的物品的领用数值。对于SUBSTITUTE(B2:B19,D2,'')+0中的+0,是为了将替换后的文本转换为数字,否则将得不到正确的结果。

你可以使用“公式求值”,一步步看看这个公式是怎么实现最终的结果的。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

(0)

相关推荐