Excel formula 如何使用多个下划线和不同长度的值分隔文本

Excel formula 如何使用多个下划线和不同长度的值分隔文本,excel-formula,delimiter,separator,Excel Formula,Delimiter,Separator,a1=ac_树_桦树_纽约_外线 a2=卑诗省、动物、狗、华盛顿 由于单元格值的长度不同,如何用ux分隔单元格中的文本。我想使用公式,而不是文本到列 谢谢这可以通过Flash Fill Excel 2013+完成 对于第一行数据,在右侧后续单元格中输入预期结果。这是您希望数据分解的方式: 然后选择输出数据的第一个单元格,并从功能区中单击“快速填充”: 对其余列执行此操作。这将根据Excel在原始数据中识别的模式填充列: 如果可以接受VBA解决方案,则可以围绕VBA拆分函数编写包装: Public

a1=ac_树_桦树_纽约_外线

a2=卑诗省、动物、狗、华盛顿

由于单元格值的长度不同,如何用ux分隔单元格中的文本。我想使用公式,而不是文本到列


谢谢

这可以通过Flash Fill Excel 2013+完成

对于第一行数据,在右侧后续单元格中输入预期结果。这是您希望数据分解的方式:

然后选择输出数据的第一个单元格,并从功能区中单击“快速填充”:

对其余列执行此操作。这将根据Excel在原始数据中识别的模式填充列:


如果可以接受VBA解决方案,则可以围绕VBA拆分函数编写包装:

Public Function Split2(s As String) As String()
    Split2 = Split(s, "_")
End Function
然后在工作表中,选择“假设单元格B1:F1”,然后输入

=Split2(A1)
作为一个数组函数,按住CTRL-SHIFT-ENTER键,数据就会出来

希望这会有所帮助。

使用将所有下划线(例如CHAR95)更改为大量空格(通常为原始字符串的整个长度),然后用。以一个“包装器”结束

在B1 as中

=IFERROR(TRIM(MID(SUBSTITUTE($A1, CHAR(95), REPT(CHAR(32), LEN($A1))), (COLUMN(A:A)-1)*LEN($A1)+1, LEN($A1))), TEXT(,))
从右到下填充


看看如何使用闪光填充,我更喜欢使用公式。有什么想法吗?你可以使用IF、LEN、FIND、RIGHT、LEFT和SUBSTITUTE的组合。这可能应该在xl2013引入的某个地方注意到。谢谢@jeeped,添加到答案中