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

标签 excel string trim

我正在寻找一个 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 工具。您可以使用一个或多个单元格中的文本,然后使用“将文本转换为分栏向导”将其拆分为多个单元格。

执行以下操作:

  1. 选择包含要拆分的文本的单元格或列。
  2. 选择数据选项卡,在数据工具部分中点击文本分列工具。
  3. 将文本转换为分栏向导中,选择分隔符,然后单击“下一步”。
  4. 为您的数据选择分隔符。根据您的情况,只需选择空格。您可以在数据预览窗口中查看数据预览。单击“下一步”。
  5. 选择列数据格式或使用 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))

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

Method 2: Excel tools and formulas

用值替换公式

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

关于excel - 在Excel单元格中分隔多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53306331/

相关文章:

excel - VBA - If 语句引用不同工作表中单元格中的特定文本

c# - .ToString() 和 + ""有什么区别

c++ - 有没有办法让 C++ 从 cin 中接收未定义数量的字符串?

javascript - 将字符串转换为 javascript 关联数组

vb.net - 如何在使用 Visual Studio 2010 创建的 Excel 加载项中执行 .Onkey 事件?

excel - 如何将 Variant 数组转换为 Range?

excel - 格式刷不工作 - 条件格式

html - Microsoft Word/Outlook 修剪前导空格

php - MySql 中使用 INSERT 引导空格

mysql - 从 MySQL 表中的值中修剪空格