Excel:将重复的客户的员工移动到空单元格

Excel:将重复的客户的员工移动到空单元格

当我提取包含客户联系信息的报告时,如果客户档案中有多个电子邮件地址,有时会出现重复行。我一直在尝试找到一种好方法将第二封或第三封电子邮件移到第一封电子邮件旁边的空白处。我附上了一个示例日期集的屏幕截图,以便您理解我的意思。

我在想我可能必须写一个 if-then 语句,说明如果 IDnumber 重复,则将 colC 值拉入 colD 值中,或者如果 D 已满,则将 E 值拉入。但我在执行过程中一直迷失方向。

非常感谢您的帮助和指导。

样本

答案1

我认为这里有一种方法可以使用 Index/Match/Offset,但这里有一种替代方法假设您已按 ID 对工作表进行排序(分组),并且每个人的电子邮件地址不超过 3 个

我创建了一个辅助列(C 列),它基本上用于计算从工作表顶部到当前行有多少个 ID。它会将一些文本连接到它。

C2单元格公式:

=CONCAT("Email_",COUNTIFS($A$1:A2,A2))

然后下面的公式基本上就是手动偏移......

单元格 E2 公式(将下面一行与列标题进行比较):

=IF(C3=$E$1,D3,"")

单元格 F2 公式(将下面两行与列标题进行比较):

=IF(C4=$F$1,D4,"")

向下拖动公式,输出将显示为:

ID 姓名 身份等级 电子邮件 电子邮件_2 电子邮件_3
1234 艾米 电子邮件_1 艾米1 新艾米
1234 艾米 电子邮件_2 新艾米
5678 麦克风 电子邮件_1 迈克尔
9123 鲍勃 电子邮件_1 博伯特
8912 弗雷德 电子邮件_1 弗雷迪 燧石 埃菲德曼
8912 弗雷德 电子邮件_2 燧石
8912 弗雷德 电子邮件_3 埃菲德曼

显然,这种方法不会移动任何东西,但在一切都说完之后,您可以创建工作表的副本,用值替换所有公式,然后排序并保存辅助列 C = Email_1。

我建议寻找更好的答案,因为这个问题有太多的假设;然而,它可能暂时是一个权宜之计。

相关内容