本文作者:赵骄阳

本文编辑:竺兰

Hi,我是偏爱函数公式,爱用 Excel 图表管理仓库的大叔 Mr 赵~

我们在工作中,经常会遇到带单位的数据运算,比如对带有单位的数据求和、提取不同单位中的数值,合并不同单位的数量等等。

下面就通过 5 个典型的案例,一起和大家探讨,如何应对处理这些带单位的数据。

如果你想学习更多 Excel 函数干货,更多高效办公小技巧~

欢迎加入《秋叶 Excel 3 天集训营》,课程原价99元,现在免费报名!

秋叶 Excel 3 天集训营

专为职场人打造

0 元学 Excel!

报名免费领

《35 个函数说明手册》

带单位的数字求和

如下图,对 C 列的金额求和。

❶ 首先用 SUBSTITUTE 函数将 C 列中的字符"元"替换成空字符:

=SUBSTITUTE(C3:C8,"元","")

❷ 这时生成的一列数字还是文本型的,不能直接求和,需要在前面加两个负号转换成数值:

=--SUBSTITUTE(C3:C8,"元","")

❸ 最后就可以用 SUM 函数,对转化后的数值求和,得到最终结果:

=SUM(--SUBSTITUTE(C3:C8,"元",""))

提取不同单位中的数值

如下图,从 B 列带有不同单位的文本中,提取数值到 C 列:

❶ 首先用 ROW($1:9)生成一组由 1 开始递增的序列值:

=ROW($1:9)

❷ 然后以这组序列值作为 LEFT 函数的第二个参数,由左至右逐一扩展截取当前 B 列文本中的字符,生成一列文本数组:

=LEFT(B3,ROW($1:9))

❸ 最后用 LOOKUP 函数,在这列数组中找到最后一个数值,返回结果:

拆分带有多个单位的文本

如下图,从 C 列中拆分带有多个单位的数字到 D:F 列:

❶ 首先用 LEFT 函数从当前 C 列的文本中,提取单位前面的字符:

=LEFT($C3,FIND(D$2,$C3)-1)

❷ 然后用 RIGHT 函数,由右至左逐一扩展提取字符的个数,截取字符,生成一列数组:

=RIGHT(LEFT($C3,FIND(D$2, $C3)-1),ROW($1:9))

❸ 接着用 LOOKUP 函数,在这列数组中找到最后一个数值,再填充复制公式:

=-LOOKUP(
1,
    -RIGHT(
        LEFT($C3, FIND(D$2, $C3) - 1),
        ROW($1:9)
    )
)

❹ 最后用 IFNA 函数屏蔽公式中的错误值(#N/A)返回结果:

=IFNA(
-LOOKUP(
1,
-RIGHT(
LEFT($C3, FIND(D$2, $C3) - 1),
ROW($1:9)
)
),
""
)

不同单位的数量合并

如下图,将 C:E 列的数值与对应的单位合并成如 F 列的效果:

❶ 首先用 TEXT 函数对当前行的数值,进行文本格式化设置,如果是正数则显示数值和单位组成的字符,否则返回空字符,生成一行文本数组。

=TEXT(C3:E3,0&C$2:E$2&";;")

❷ 再用 CONCAT 函数将这行文本数组合并成一串字符,得到结果:

=CONCAT(TEXT(C3:E3,0&C$2:E$2&";;"))

单位转化

如下图,根据 D 列的箱规,将 C 列的数量转换成如 E 列的效果:

❶ 首先用当前的数量除以箱规,再用 INT 函数取整得到箱数:

=INT(C4/D4)

❷ 然后 TEXT 函数对箱数进行文本格式设置,如果是正数则数值与单位连接,否则返回空字符。

=TEXT(INT(C4/D4),"0 箱;;")

❸ 再用 MOD 函数根据当前的数量和箱规求余数,得到剩下的件数:

=TEXT(MOD(C4,D4),"0 件;;")

❸ 最后将两个公式用连接符」&「连接在一起,返回最终结果:

=TEXT(INT(C4 / D4), "0 箱;;") &
TEXT(MOD(C4, D4), "0 件;;")

好了,今天就分享到这里。

如果本篇文章对你有帮助或有所启发,欢迎「点赞」、「评论」和「转发」哦,你们的支持是我分享的动力~

如果你想学习更多关于表格排版、数据处理、数据分析、汇报表达的知识,想提升 Excel 技能、升职加薪,那么今天就是一个很好的机会:

小编为大家申请了专属福利,原价99元 的《秋叶 Excel 3 天集训营》现在报名,只需 0 元!

秋叶 Excel 3 天集训营

0 基础也能学

报名额外赠送

100 套职场必备图表模板

35 个常用函数说明

学到就是赚到

名额有限,快来免费加入

打开网易新闻 查看精彩图片