将文本对拆分为单独的列
Posted
技术标签:
【中文标题】将文本对拆分为单独的列【英文标题】:Split text pairs into separate columns 【发布时间】:2015-02-09 22:41:00 【问题描述】:我在 OpenOffice Calc 中有下表:
第 1 列
(Col1 Row1) 夹克 - 白色 (Col1 Row2) 裤子 - 蓝色 (Col 1 Row3) 腰带- 黑色 (Col1 Row4) 夹克 - 黑色 (Col1 Row5) 裤子 - 白色 (Col 1 Row6) 腰带- 蓝色 等等等等……
我要做的是将所有颜色分成单独的列(例如第 2 列),并将所有项目留在第 1 列中。
我已尝试使用“查找”和“替换”功能,该功能可以很好地删除颜色,但我找不到将这些颜色移动到另一列的方法。 我查看了 EXACT、FILTER、LEFT 和 RIGHT 函数,但这些函数似乎都不符合要求。
【问题讨论】:
【参考方案1】:我假设在您的表格中,项目和颜色由连字符分隔,如果这是分隔符,那么一种解决方案可能如下。
您可以使用 FIND 函数获取连字符在字符串中的位置,并将其输入到 LEFT 公式中以获取其左侧的所有内容。因此,如果您的第一个字符串在单元格 A1 中,那么公式 LEFT(A1;FIND("-";A1;1)-1) 应该会得到该项目。
要获得颜色,您可以使用与 RIGHT 公式相同的原理,但不是直接使用 FIND 的结果,而是要从字符串的总长度中减去它以获得正确的位置。所以在这种情况下,公式 RIGHT(A1;LEN(A1)-FIND("-";A1;1)) 应该可以得到颜色。
在这两种情况下,都会出现前导空格和尾随空格的问题,因此我建议将两者都包装在 TRIM 函数中。所以我的最终建议如下
获取项目的公式
=TRIM(LEFT(A1;FIND("-";A1;1)-1))
获取颜色的公式
=TRIM(RIGHT(A1;LEN(A1)-FIND("-";A1;1)))
【讨论】:
以上是关于将文本对拆分为单独的列的主要内容,如果未能解决你的问题,请参考以下文章