在Excel中解析单元格外的文本

在Excel中解析单元格外的文本,excel,Excel,我有一个简单的问题,关于只使用公式来解析单元格中的文本并将它们分组 以下是我所拥有的: AX_BY_CZ_NP [1234] 除了NP之外,我什么都能进去 这是我对BY,CZ的公式,我目前正停留在NZ的最后一部分 BY - =MID(A1, FIND("_",A1) + 1, FIND("_",A1,FIND("_",A1)+1) - FIND("_",A1) - 1) CZ - =MID(A1,FIND("_",A1)+1+(FIND("_",A1,FIND("_",A1)+1)-FIND

我有一个简单的问题,关于只使用公式来解析单元格中的文本并将它们分组

以下是我所拥有的:

AX_BY_CZ_NP [1234]
除了NP之外,我什么都能进去

这是我对BY,CZ的公式,我目前正停留在NZ的最后一部分

BY - =MID(A1, FIND("_",A1) + 1, FIND("_",A1,FIND("_",A1)+1) - FIND("_",A1) - 1)

CZ - =MID(A1,FIND("_",A1)+1+(FIND("_",A1,FIND("_",A1)+1)-FIND("_",A1)),FIND("_", A1, FIND("_", A1,FIND("_",A1)+1)+1)-FIND("_",A1,FIND("_",A1)+1)-1)

NP - =MID(A9,FIND("_",A1,(FIND("_",A1,FIND("_",A1)+1)-FIND("_",A1))+FIND("_", A1, FIND("_", A1,FIND("_",A1)+1)+1)-FIND("_",A1,FIND("_",A1)+1)-1)+1, ????)
我的大脑在这一点上是油炸的,不知道如何变得更复杂和地图上的一切


如果你知道CZ的最后部分,请帮助

您可以使用自定义项快速、轻松地完成这项工作,而不是将可怕的字符串公式全部嵌套起来:

转到VBE Ctrl+F11,创建一个新模块,然后将其粘贴到:

 Function strtok(strIn As String, strDelim As String, intPos As Integer) As String
   'take in a string, split by delimiter, and return position
   strtok = Split(strIn, strDelim)(intPos - 1)
 End Function
然后,您可以在工作簿中使用以下新的strtok公式:

使用以下公式:

=TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1," ","_"),"_",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))
将其放在第一列,然后拖动/复制


您想要的最终输出是什么?将每个部分动态解析为5个不同单元的最终输出