在 excel 单元格中分隔多个字符串

Seperating multiple strings in excel cell

我正在搜索一个 excel 公式(VBA 不是这种情况的选项),它可以拆分出现在单个单元格中的两个文本字符串。

每个字符串可以是任意长度并包含空格,但将由两个或多个空格分隔。第一个字符串几乎也总是以多个空格开头。

因此,例如,您的单元格可能具有以下值:

     north wing       second floor
           south korea   dosan-park

我想从中提取 north wingsecond floor 作为两个单独的单元格,从第一行和第二行得到 south koreadosan-park

有什么想法吗?非常感谢!

放入方程式并根据需要向下拖动

B2 = TRIM(LEFT(A2,SEARCH(CHAR(32),TRIM(A2),SEARCH(CHAR(32),TRIM(A2))+1)))
C2 = TRIM(RIGHT(A2,LEN(A2)-SEARCH(CHAR(32),TRIM(A2),SEARCH(CHAR(32),TRIM(A2))+1)))

从你的例子中,我意识到数据集可以有很多变化。要编写公式,您应该了解各个阶段并尝试实现它。

方法一:公式

如果您的数据位于 A1 单元格中,并且我们假设第一部分始终有两个单独的字符串,那么第一部分的公式如下(例如:north wing,韩国)

=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)))

方法二:Excel工具和公式

我能想到的另一个解决方案是使用 Excel 工具。您可以将文本放入一个或多个单元格中,然后使用将文本分列向导将其拆分为多个单元格。

进行如下操作:

  1. Select 包含要拆分的文本的单元格或列。
  2. Select Data 选项卡,在 Data Tools 部分单击 Text to Columns 工具.
  3. Convert Text to Columns 向导中,select Delimited 然后单击 Next。
  4. Select 数据的分隔符。在你的情况下只是 select Space。您可以在数据预览 window 中查看数据预览。单击下一步。
  5. Select 列数据格式或使用 Excel 为您选择的格式 (General)。 Select Destination,这是你转换数据的地址。如果出于比较等任何原因想要保留原始数据,则应更改默认目标地址。我建议您将其更改为下一栏地址。例如,如果您的数据位于 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".

的末尾添加额外的 space
=TRIM(CONCAT(E1, " ",F1))

如需更多说明,请查看下面的屏幕截图。

用值替换公式

您可以复制 (Ctrl + C) 带有公式的单元格并使用选择性粘贴 (Ctrl + V) 然后点击出现在单元格附近的小粘贴图标,然后单击 V 按钮