我正在尝试分离从 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))
取自:https://trumpexcel.com/find-characters-last-position/
关于excel - 是否有一个excel公式可以从单元格中的字符串末尾提取数字,其中长度并不总是恒定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72544363/