示例单元格值:千禧疼痛中心总裁兼创始人,1998 年至今。
我希望将其解析(拆分)为“千禧疼痛中心总裁兼创始人”,并在另一个单元格中解析(拆分)为“1998 年至今”。
这可行吗?
答案1
使用数组公式即可实现。以下是基于一种算法在 MS Office 网站上。我修改了公式以字符串长度考虑到这一点,以便您可以将其与其他短语一起使用。
假设 A1 包含你的字符串(“总裁兼创始人,千禧疼痛中心,1998年至今”),Ctrl++Shift这个EnterB1:
=MATCH(TRUE,ISNUMBER(1*MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)),0)
它将返回字符串中出现的第一个数字的索引。例如,它将返回 46。
输入此(作为正常公式)C1:
=MID(A1,1,B1-1)
它将回归千禧疼痛中心总裁兼创始人,
输入此(作为正常公式)D1:
=RIGHT(A1,LEN(A1)-B1+1)
它将回归1998 年至今
答案2
这些将起作用,它们是数组公式,因此您必须使用CTRL-SHIFT-ENTER当您在单元格中输入它们时。数字 $40 只需足够大即可容纳最大的字符串:
=LEFT(A1, MATCH(TRUE,ISNUMBER(1*MID(A1, ROW($1:$40), 1)),0)-1)
和
=RIGHT(A1, LEN(A1) - MATCH(TRUE,ISNUMBER(1*MID(A1, ROW($1:$40), 1)),0) +1)
MID 语句创建字符串中所有字符的数组。ISNUMBER
语句随后将其转换为 TRUE/FALSE 数组。MATCH 语句
随后找到第一个 TRUE,因此找到第一个数字。
然后只需进行解析即可。