首页 > 解决方案 > 在单元格内容中的任何字母或特殊符号之前提取数字

问题描述

我有以下 Excel 电子表格:

         A                  B              C
1   125Product             125
2   58968Brand           58968
3   74Category              74
4   6325Product           6325
5   2:2                     2:
6   7489Category458    7489Bra
7   29:Brand                29
8

A 列中,我的内容由数字、字母或特殊字符组成。
B 列中,我想提取任何字母或特殊字符之前的所有数字;因此,我使用以下公式:

=LEFT(A2,SUM(LEN(A2)-LEN(SUBSTITUTE(A2,{"0","1","2","3","4","5","6","7","8","9"},""))))

A5此公式适用于除 Cell和中的值之外的所有值A6。我想问题是在这个单元格中 - 而不是所有其他值 - 在字母/特殊字符之后还有一个数字。

我需要在我的公式中更改什么以仅提取任何字母或特殊字符之前的数字?

标签: excelexcel-formula

解决方案


在此处输入图像描述

中使用的公式B1

=LEFT(A1,MATCH(FALSE,ISNUMBER(MID(A1,ROW($A$1:INDEX(A:A,LEN(A1))),1)*1),0)-1)

通过Ctrl++Shift确认Enter

如果您不想作为数组输入,请使用:

=LEFT(A1,MATCH(FALSE,INDEX(ISNUMBER(MID(A1,ROW($A$1:INDEX(A:A,LEN(A1))),1)*1),0),0)-1)

推荐阅读