如何根据条件合并两个 excel 表

如何根据条件合并两个 excel 表

我们正在试用 Mailchimp 的替代品 Campayn,当您从 Campayn 下载您的一个联系人列表时,它不包含联系人的状态(已订阅、取消订阅、退回)。

我们必须创建一个片段,为该片段创建一个过滤器(状态=未订阅),然后下载该片段。

我现在想将我的联系人主电子表格与已取消订阅的人标记在一起。

在我的主 Excel 电子表格中,我有:

email, company, name

在我的未订阅细分电子表格中,我还有:

email, company, name

如何将单词添加unsubscribed到未订阅细分电子表格中每个联系人的主电子表格的第 4 列?

非常感谢您的帮助。

答案1

假设主表位于“Sheet1”中,标题位于 A1:C1。

假设从属表在“Sheet2”中,标题在 A1:C1 中。

使用公式填充'Sheet1'D2

=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2)

并将其向下拖到整个数据上。如果 Sheet2 上没有某行,则显示 0,否则显示重合行的数量(通常为 1)。

如果你想看到“取消订阅”字样,你可以使用

=IF(0=COUNTIFS(Sheet2!A:A,A2,Sheet2!B:B,B2,Sheet2!C:C,C2),"","unsubscribed")

答案2

假设有两个标签:

工作表或标签 1

工作表或标签 2

用于匹配相同对的密钥:=B2&C2&D2

使用的公式:=VLOOKUP(A2, Unsubscribed!$A$2:$D$2, 1, 0)
- 查找此键(第一个字段) - 在该表中(注意 $values 使其绝对 - 返回第一个字段(我不关心返回什么,只关心是否错误) - 0 / false 是精确的。没有模糊不匹配)

这项工作尚可改进。

例如=IFERROR(VLOOKUP(A4, Unsubscribed!$A$2:$D$2, 1, 0),"")会隐藏所有错误。

如果您在第二个选项卡上的每封电子邮件后面添加单词“unsubscibed”,则可以对字段 5 执行 vlookup。然后公式将是=IFERROR(VLOOKUP(A4, Unsubscribed!$A$2:$E$2, 5, 0),"") 注意查找表现在有 5 个字段宽(A 到 E,我们返回第 5 个值)。

答案3

您还可以使用矩阵公式。这就是表格中第二行的样子(我假设您在第一行使用标题,第四列是 D 列):

单元格“D2”将包含以下公式:

{=IF(SUM(IF(A2=Unsubscribed!A:A;1;0))>=1;"unsubscribed";"")}

您可以使用 Ctrl+Shift+Enter(而不是直接按 Enter)输入矩阵公式,这将在公式周围创建“{}”。下一行 A2 将更改为 A3 等(只需使用复制和粘贴,Excel 会为您完成)。

如果电子邮件地址包含在取消订阅表和主表中,它将显示unsubscribed在第四列,如果它仅包含在主表中,则不会显示任何内容。

以下是我在公式中使用的变量的解释:

  • A2:包含电子邮件地址的单元格(在主表中)
  • A:A:包含电子邮件地址的列(在订阅表中)
  • Unsubscribed:”订阅表”的名称

相关内容