分享

【函数】Excel怎么用公式把单位前面的数字提取出来?

 劲哥酷歌 2022-04-20
用过高版本Excel的朋友会说:这个还不简单,直接用Ctrl+E键(也就是Excel的快速填充功能)提取数字,把单元格中的数字和中文单位分开。
但是较早版本的Excel没有自动填充功能,不能使用Ctrl+E键提取数字。

今天介绍一个用公式来提取中文单位或者英文单位前数字的方法,供感兴趣的读者参考。这个方法可以提取字数不同的中英文单位前的数字。

如下图:Excel表格中的数字和单位都在一个单元格中,而且单位有中文的“公斤”、“千克”,还有英文的“kg”,我们要用公式把这些单位前的数字提取出来。

图片

我们可以在第一个要提取数字的单元格(本例为B2单元格)旁的单元格中输入公式:
=LOOKUP(12345678,LEFT(B2,ROW($1:$10))*1)

这个公式用了LOOKUP、LEFT、ROW三个函数,下面简要介绍一下各函数的意义:

LOOKUP函数的意义在 LEFT(B2,ROW($1:$10))*1 的结果中查找和 12345678 相等或者最相近的值。这里的 12345678 可根据表格中实际最大数字而改变,大于表格中最大的数字即可。本例表格中最大的数字是 1234567 ,也就是说可以用大于1234567 的任何一个数字来代替公式中的 12345678 。

LEFT(B2,ROW($1:$10))的意义从B2单元格左侧开始提取和ROW($1:$10)计算结果相同位数的数字,ROW($1:$10)的结果是一个数组,可返回从1到10的数字,也就是从B2单元格左侧第一位开始最少提取到第一位数,最多提取到第10位数,这里的$10可根据表格中实际最大数字的位数而改变。本例中要提取的最大位数的数字是 1234567 ,共七位,即最大只能提取到第七位。即可以用大于7的任何一个数字来代替$10中的10。

LEFT(B2,ROW($1:$10))的后面还有一个 *1 ,*1 的作用是屏蔽掉不是数字的英文、汉字等字符,因为它们不能乘以1。

图片

输入以上公式,按回车键后就会显示出提取到的数字。

图片

再对其他单元格填充公式,即可提取出其余单元格中的数字。

图片

来源:网络
编辑:Excel工程中的应用

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多