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


3

我在excel中有一列包含邮件的单元格,有些只包含一封邮件,但是其他邮件包含这种格式的每个单元格的多封电子邮件:

one@example.com, two@example.com, three@example.com

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

one@example.com
two@example.com
three@example.com

我猜(不要接受我的话)你可以做某种if语句

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

你现在可能会在你的屏幕上大喊大叫:)(或笑)但它只是如何接近它,不知道要使用的功能还是这样甚至可能。

所以,如果你有任何想法我很感激!!

为了以防万一,我想从这个文件中做一个csv所以,任何可以做到这一点的解决方法都会......

提前致谢!

特鲁法

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

编辑:问题实际上已经解决了,我放弃并逐一做了,一个方法永远不会让你失望:) Iwpuld感谢任何想法,无论如何为了未来和知识的缘故!

Answers:


3

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

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


我找到了办法做到这一点!谢谢无论如何看看我的编辑请:)
Trufa 2010年

0

你就不能保存为CSV和做搜索和替换,\n


那么,\ n在csv文件中有效,它会不会显示?
Trufa 2010年

@Trufa:不是; 我\n在Notepad ++中用作换行符的占位符。您必须在文本编辑器中找出在搜索和替换中表示换行符的内容。
Hello71 2010年

我找到了办法做到这一点!谢谢无论如何看看我的编辑请:)
Trufa 2010年

0

将Excel文件导出到csv。

将其复制到Linux计算机并在Vim编辑器中进行编辑。

然后输入:

%s/,/\\n/g

这是该命令的细分:

  • - 运行命令
  • %s - 替代品
  • / - 分隔符
  • - 要查找的字符串
  • / - 分隔符
  • **** - 一个控制字符,忽略下一个字符,但在这种情况下,我们希望以下\ n部分是它替换逗号的字符串
  • \ n - 用逗号替换逗号的字符串
  • / - 分隔符
  • g - 全球

这将在全局中找到并替换带有换行符的逗号,并将每个单元格放在一个新行上。然后,您可以将此文件重新导入Excel。

抱歉,如果你不使用Linux - 这是我的专长,编辑器和字符串操作工具比Windows更好。


1
Notepad ++还处理正则表达式搜索和替换,并在Windows上运行。我经常使用它来处理这样的情况。
愚蠢的2012年

0

我不确定我的答案是否适合这里,因为它更像是Stackoverflow的答案,但你可以写一个宏来轻松地完成它。例如,以下宏将假定当前电子邮件地址位于第一列,并将它们复制到第二列:

Cells(1, 1).Select
Dim curr As String
Dim cnt As Integer
cnt = 0
For i = 1 To ActiveCell.SpecialCells(xlLastCell).Row
    curr = Cells(i, 1).Value
    If InStr(curr, "@") Then
        If InStr(curr, ",") Then
            Dim tmp() As String
            tmp = Split(curr, ",")
            For j = LBound(tmp) To UBound(tmp)
                cnt = cnt + 1
                Cells(cnt, 2).Value = tmp(j)
            Next
        Else
            cnt = cnt + 1
            Cells(cnt, 2).Value = curr
        End If
    End If
Next i

我不太了解VBA,所以可能是更好的方法。


0

所以你想要换行而不是逗号,那么你需要找到并用char(10)替换它们。试试这个公式。

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

该公式将替换A2中文​​本中的逗号,并用换行符替换它们。

例如:如果A2包含:

有人@ gmail.com,有人@ yahoo.com

那么它将返回:

someone@gmail.com
somebody@yahoo.com

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.