我有一张有 2 个列的表格;其中一个是姓名,另一个有一个或多个电子邮件,以逗号分隔

我有一张有 2 个列的表格;其中一个是姓名,另一个有一个或多个电子邮件,以逗号分隔

我有一个 Excel 工作表,其中有两列,一列是姓名,另一列有一个或多个电子邮件,各列之间用逗号分隔。

现在,我想要获得两列具有重复名称但唯一电子邮件的列,因此单个单元格中不超过一个电子邮件地址,我只希望第一列有一个名称,第二列有一个电子邮件。

现在是这样的:

name1    email1, email2, email3
name2    email1
name3    email1, email2

我想要的是这样的:

name1    email1
name1    email2
name1    email3
name2    email1
name3    email1
name3    email2

谢谢

答案1

您似乎正在“取消透视”数据透视表。以下是基于 John Walkenbach 的非常酷的提示的另一种方法: 根据摘要表创建数据库表。 我一直使用这个技巧,它确实节省时间。

如果您使用的是 Excel 2007 或更高版本,我强烈建议您将数据透视表按钮添加到快速访问工具栏。这将允许您访问“旧”Excel 2003 数据透视表向导。能够使用“旧”向导非常重要!调出旧数据透视表向导的另一种方法是键入“ALT+D”,然后键入“P”。 在此处输入图片描述

现在,谈谈您的具体问题。使用“数据”菜单的“文本到列”功能以逗号分隔第二列数据。您还必须添加一些列标题。(我重建了您的示例数据以显示唯一的电子邮件地址,以便更清晰地显示):
在此处输入图片描述

单击快速访问工具栏上的“数据透视表”按钮。它将调出旧向导的第 1 步。选择“多个合并范围”按钮,然后单击“下一步”:在此处输入图片描述

在步骤2a中,选择“我将创建页面字段”,然后单击“下一步”: 在此处输入图片描述

在步骤 2b 中,突出显示您的数据范围,然后单击“添加”按钮。这会将您的数据范围复制到表单的下方窗口中。单击“下一步”。

在此处输入图片描述

在第 3 步中,您可以选择“新工作表”或“现有工作表”,只要您选择的单元格不与源数据重叠即可。单击“完成”。 在此处输入图片描述

您现在应该有一个数据透视表,并且将显示数据透视表字段列表: 在此处输入图片描述

取消选中“行”框和“列”框,这样您将在单个单元格中留下一个非常小的透视表(此处显示在单元格 A4 中): 在此处输入图片描述

这是最酷的部分:双击该单元格。您的数据透视表将被“取消透视”到新工作表上。现在您可以过滤掉第三列中的空白,然后您将获得所需的布局: 在此处输入图片描述

答案2

就我个人而言,我会做以下事情:

  1. 按 A 列对工作表进行排序
  2. 将整个列表复制到文本编辑器
  3. 搜索并将“[逗号][空格]”替换为“[换行符][制表符]”
  4. 将所有内容复制回 Excel

这是我刚刚学到的一个技巧:

  1. 单击数据中的某处
  2. Ctrl-A(或手动选择数据)
  3. Ctrl-G
  4. Alt-S
  5. 按 K 然后输入

您刚刚选择了所有空白单元格

  1. 按等号键
  2. 按键盘上的向上箭头
  3. Ctrl-Enter

这将确保空白单元格具有上方单元格的值(这在复制数据透视表时特别有用)

  1. 将所有内容再次复制到文本文档中
  2. 将其复制回 Excel

这确保单元格不再使用公式。

如果这是您需要定期做的事情,我建议使用 Awk。

相关内容