在 excel 中的同一个单元格中,以逗号分隔的值(字面意思,不是 csv),放在单独的单元格中

在 excel 中的同一个单元格中,以逗号分隔的值(字面意思,不是 csv),放在单独的单元格中

我在 Excel 中有一列单元格包含邮件,其中一些单元格只包含一封邮件,但其他单元格每个单元格包含多封电子邮件,格式如下:

[email protected], [email protected], [email protected]

我想要实现的是让它们像这样:

[email protected]
[email protected]
[email protected]

我猜(不要相信我的话)你可以做一些类似这样的 if 语句

if (cell contains ", ")
get string from ", " to ", " and paste somehow
else "b1"

您现在可能正在对着屏幕尖叫 :)(或大笑)但这只是如何处理它,不知道要使用什么功能,或者是否可以通过这种方式实现。

因此如果您有任何想法我将非常感激!!

为了以防万一,我想从这个文件中取出一个 csv,因此,任何可以完成此操作的解决方法都可以......

提前致谢!

特鲁法

顺便说一句,我希望我已经足够清楚地解释了这个问题,如果没有,请要求澄清!

编辑:问题实际上已经解决了,我屈服了,一个接一个地做了,这种方法永远不会失败:)无论如何,为了未来和为了知识,我都会很感激任何想法!

答案1

在 Excel 中,尝试数据 -> 文本到列。

然后选择“,”作为分隔符。这会将分栏符放在逗号所在的位置。

答案2

您不能将其保存为 CSV 然后进行搜索和替换,\n

答案3

将您的 Excel 文件导出为 csv。

将其复制到 Linux 机器并在 Vim 编辑器中编辑它。

然后输入:

%s/,/\\n/g

该命令的具体内容如下:

  • - 运行命令
  • %s- 代替
  • /- 分隔器
  • - 要查找的字符串
  • /- 分隔器
  • **** - 一个控制字符,用于忽略下一个字符,但在本例中,我们希望下面的 \n 部分是用来替换逗号的字符串
  • \n- 替换逗号的字符串
  • /- 分隔器
  • G- 全球

这将全局查找逗号并将其替换为换行符,并将每个单元格放在新行上。然后您可以将此文件重新导入 Excel。

如果您不使用 Linux,我很抱歉 - 这是我的专长,而且它的编辑器和字符串操作工具比 Windows 上的要好得多。

答案4

因此,如果您想要换行符而不是逗号,则需要查找并用 char(10) 替换它们。试试这个公式。

=SUBSTITUTE(A2,“,”,CHAR(10))

该公式将替换 A2 中文本的逗号并将其替换为换行符。

例如:如果 A2 包含:

[电子邮件保护][电子邮件保护]

那么它将返回如下内容:

[电子邮件保护]
[电子邮件保护]

相关内容