怎样用explode函数处理不规则分隔符

avatar
作者
猴君
阅读量:0

在Excel中,explode函数用于将一个文本字符串按照指定的分隔符拆分为多个文本项,并将这些文本项作为数组返回。但是,explode函数只能处理单个分隔符的情况。如果需要处理不规则分隔符,可以使用以下方法:

  1. 使用多个explode函数:针对每个分隔符,使用一个explode函数进行拆分,并将结果合并为一个数组。例如,如果需要处理字符串"A|B,C;D",可以使用以下公式:
=ArrayFormula(IFERROR(VLOOKUP(ROW(INDIRECT("1:"&LEN(A1))), Split(A1, "[|;,]"), 2, FALSE), "")) 

该公式首先使用Split函数将字符串按照"[|;,]"分隔符拆分为一个数组,然后使用VLOOKUP函数遍历拆分后的数组,并将每个元素转换为对应的值。最后,使用IFERROR函数来处理任何可能的错误。

  1. 使用自定义函数:可以编写一个自定义函数来处理不规则分隔符。例如,以下是一个可以处理多个分隔符的自定义函数:
Function explode_multi(text, delimiters)   Dim arr() As String   Dim i As Long, j As Long   Dim temp() As String   temp = Split(text, delimiters)   ReDim arr(1 To UBound(temp))   For i = 1 To UBound(temp)     arr(i) = temp(i)   Next i   explode_multi = arr End Function 

该函数接受两个参数:要拆分的文本字符串和分隔符数组。它首先使用Split函数将文本字符串按照分隔符拆分为一个临时数组,然后将临时数组中的每个元素复制到一个新的数组中,并最终返回该数组。

使用此自定义函数,可以像使用explode函数一样处理不规则分隔符,例如:

=explode_multi("A|B,C;D", Array("|", ",")) 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!