我正在寻找一个 Excel 公式(VBA 不适用于这种情况),它可以拆分出现在单个单元格中的两个文本字符串。
每个字符串可以是任意长度并包含空格,但将由两个或多个空格分隔。第一个字符串几乎总是前面有多个空格。
例如,您的单元格可能具有以下值:
north wing second floor
south korea dosan-park
我想从中提取北翼
和二楼
作为第一行中的两个单独的单元格,并从第二行获取韩国
和 dosan-park
有什么想法吗?非常感谢!
最佳答案
从你的例子中,我意识到数据集可能有很多变化。要编写公式,您应该了解各个阶段并尝试实现它。
方法 1:公式
如果您的数据位于单元格 A1 中,并且我们假设第一部分始终有两个单独的字符串,则第一部分的公式如下(例如:北翼,韩国)
=LEFT(TRIM(A1),FIND(CHAR(1),SUBSTITUTE(TRIM(A1)," ",CHAR(1),2))-1)
第二部分如下(示例:dosan-park 二楼)
=RIGHT(TRIM(A1),LEN(TRIM(A1))-FIND(CHAR(1),SUBSTITUTE(TRIM(A1)," ",CHAR(1),2)))
方法 2:Excel 工具和公式
我能想到的另一个解决方案是使用 Excel 工具。您可以使用一个或多个单元格中的文本,然后使用“将文本转换为分栏向导”将其拆分为多个单元格。
执行以下操作:
- 选择包含要拆分的文本的单元格或列。
- 选择数据选项卡,在数据工具部分中点击文本分列工具。
- 在将文本转换为分栏向导中,选择分隔符,然后单击“下一步”。
- 为您的数据选择分隔符。根据您的情况,只需选择空格。您可以在数据预览窗口中查看数据预览。单击“下一步”。
- 选择列数据格式或使用 Excel 为您选择的格式(常规)。选择目标,这是转换数据的地址。如果您出于任何原因(例如比较)想要保留原始数据,您应该更改默认目标地址。我建议您将其更改为下一栏地址。例如,如果您的数据位于A 列和第 1 行(地址$A$1),则应将目标地址更改为>$B$1。单击“完成”。
现在,您已将每个字符串分隔在一个新单元格中,您可以将它们与新单元格中的公式连接起来。
转换后,如果单元格 C1、D1、E1 和 F1 中连续有单词“north”、“wing”、“second”和“floor”,则可以在单元格 G1 中使用以下公式进行串联C1 和 D1 使字符串“north wing”
=CONCAT(C1," ",D1)
对于第二部分,我使用了 TRIM,因为在“dosan-park”的情况下,下一个单元格将为空。这将在“dosan-park”末尾添加额外的空间。
=TRIM(CONCAT(E1, " ",F1))
如需更多说明,请查看下面的屏幕截图。
用值替换公式
您可以复制 (Ctrl + C) 包含公式的单元格并使用选择性粘贴 (Ctrl + V),然后单击出现在公式附近的小粘贴图标单元格,然后单击V 按钮。
关于excel - 在Excel单元格中分隔多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53306331/