如何从Excel单元格中提取出文字前面的所有数字?

Excel学习世界 2025-02-17 22:29:16

从单元格中提取出文字前面的数字,今天教两种方法。

案例:

将下图 1 中的数字和中文分别提取出来,各放一列,效果如下图 2 所示。

解决方案 1:

1. 在 B2 单元格中输入以下公式 --> 下拉复制公式:

=LOOKUP(9^9,--LEFT(A2,ROW($1:$20)))

公式释义:

ROW($1:$20):

生成 1 至 20 的数组;

因为案例中的数字没有超过 20 位的,所以 20 个数组够了,如果数字非常多,可以将区间的结束值设置得更大;

LEFT(A2,...):

从 A2 单元格中依次提取出第 1 至第 N 个字符,N 就是上述数组的结果;

提取出来的结果依次为 2;27;278;2785;2785马...,直至全部提取出来;

--:将纯数字变为数值格式;

LOOKUP(9^9,...):

9^9 表示一个足够大的数值;

lookup 认为第二个参数中的数值是按升序排序的,在区域中查找 9^9 直至最后一个值,如果找不到的话就返回最后一个数值;这样就将所有数字都提取出来了;

2. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=SUBSTITUTE(A2,B2,"")

公式释义:

将单元格中的数字替换成空值;

解决方案 2:

1. 选择数据表的任意单元格 --> 选择工具栏的“数据”-->“从表格”

2. 在弹出的对话框中保留默认设置 --> 点击“确定”

表格已上传至 Power Query。

3. 选择工具栏的“主页”-->“拆分列”-->“按照从数字到非数字的转换”

4. 选择工具栏的“主页”-->“关闭并上载”-->“关闭并上载至”

5. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”

右侧绿色的表格就是拆分出来的两列。

0 阅读:2

Excel学习世界

简介:Excel 学习交流