Excel MID 函数

Excel MID 函数

我可以使用什么公式来提取可变长度的字符串,其中我只知道字符串的起点和终点。例如,我有一个很大的交易列表,我需要提取“*”之间的文本,这些文本的长度不同,有时字符也不同。(下面的例子)

REMARK=TRN*1*3107979027*000000000
REMARK=TRN*1*7037/09-10-19*0000000
REMARK=TRN*1*001270017788519*0000000

谢谢!

答案1

Text to Column是一个不错的选择,但如果您想使用公式来获得结果,请尝试以下公式:

B1: =LEFT(A1,FIND("*",A1)-1) 在此处输入图片描述

C1: =MID(A1,FIND("*",A1)+1,FIND("*",A1,FIND("*",A1)+1)-FIND("*",A1)-1) 在此处输入图片描述

D1: =MID(A1,FIND("*",A1,FIND("*",A1)+1)+1,FIND("*",A1,FIND("*",A1,FIND("*",A1)+1)+1)-FIND("*",A1,FIND("*",A1)+1)-1) 在此处输入图片描述

E1: =RIGHT(A1,LEN(A1)-FIND("*",A1,FIND("*",A1,FIND("*",A1)+1)+1)) 在此处输入图片描述

答案2

考虑到样本数据,要提取*符号之间的文本,需要执行以下操作:

在此处输入图片描述

怎么运行的:

  • 将文本位置置于单元格中L54 & M54
  • 单元格中填入公式L55,横填。

    =SUBSTITUTE(MID(SUBSTITUTE("*" & $J55&REPT(" ",6),"*",REPT(",",255)),L$54*255,255),",","")
    

  • 关键特点公式的为L$54*255,公式读起来就像2*2553*255符号2 & 3之间的文本位置在哪里*

根据需要调整公式中的单元格引用。

答案3

假设每个字符串都与您显示的类似,并且有 3 个位于星号之间的子字符串*,请在某些单元格中尝试:

=INDEX(TRIM(MID(SUBSTITUTE($A1,"*",REPT(" ",99)),{99,198,297},99)),COLUMNS($A:A))

并填写右边两列。然后选择三列并向下填充至所需的范围。

源数据

在此处输入图片描述

结果

在此处输入图片描述

相关内容