excel - 是否有一个excel公式可以从单元格中的字符串末尾提取数字,其中长度并不总是恒定的

标签 excel database excel-formula

我正在尝试分离从 PDF 表复制的信息 - id 通常使用文本到列,但唯一的分层是空格,然后将数据拆分为多个不可用的列
数据是这样的:


原始数据


A1 公司 0

公司2 40000

命名一个 1

名字 b 15

名称 c 184

17 大公司 1887


我需要输出为:


公司
单位


A1公司
0

公司2
40000

命名一个
1

名字 b
15

名字 c
184

17 大公司
1887年


因此,公司名称(可能包含数字)与单位编号(可能是 1-5 位长)分开。
我一直无法找出使用 =len() 的方法,因为字符串长度不是常数,最后一个数字不是一致的位数。
我目前正在使用:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10) 
这给了我单元格中的所有数字 - 这适用于 90% 的数据,因为大多数公司的名称中没有数字。但是对于像“A1 Company 0”这样的东西,它会给出 10 作为输出,而不仅仅是 0。然后我去手动编辑少数也会发生这种情况的公司。
然后我使用 =LEN() 的混合物=LEFT=RIGHT根据需要拆分信息以进行进一步的自动化分析。
我更喜欢公式而不是 VBA/宏
我无法提供实际数据,但我希望我在上表中提供了足够的示例来显示主要问题(不同的公司名称长度、名称中带有数字的公司、代表单位的不同数字数量)

最佳答案

使用 Libre Office,但此公式检查单元格中的最后一个空格

=RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1," ","@",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))),1))
enter image description here
取自:https://trumpexcel.com/find-characters-last-position/

关于excel - 是否有一个excel公式可以从单元格中的字符串末尾提取数字,其中长度并不总是恒定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72544363/

相关文章:

javascript - 将表格导出到 Excel 后,超链接显示为文本

excel - 比较 Excel 中的 2 个列表?

javascript - 如何在远程服务器(ubuntu)上的node.js中安装并连接到mongodb?

excel - 如何从一个单元格中拆分数字,使其看起来像 Mac 地址

excel - 为什么 INDIRECT() 不适用于名称引用?

vba - 如何通过VBA引用单元格中提到的另一个工作表的单元格

xml - 使用宏将数据从映射的 excel 导出到 XML

spring - 现实世界中的隔离级别用例

database - 我如何在播放框架中使用默认数据库以外的其他数据库?

excel - 引用单元格但保留源单元格文本的格式