查询 Google Sheet 邮件列表的条件唯一案例

Query conditional unique cases for Google Sheet Mailing List

为了维护一个研究项目,我正在设置 Google Sheet 以使用逻辑运算符创建邮件列表。

基本结构是 "contacts" sheet,其中包含不断增长的电子邮件地址、姓名等列表。然后我为每个新的电子邮件活动添加一个新的 sheet (即要发送的群发电子邮件)。还有一个 "unsubscribe" 列表可以禁止电子邮件地址包含在任何未来的活动中。

我努力想出一个解决方案,让我能够识别电子邮件地址,例如,

我的逻辑方法是建立一个 "history" sheet 来列出迄今为止所有活动的所有电子邮件地址。我很难找到一个解决方案来比较 "contacts" 和 "history" 并正确地 returns 与我的搜索参数对齐的行,但 returns 给定的电子邮件地址不超过一次(以免每个活动多次向人们发送电子邮件)。

我尝试了 QUERYFILTERSORTN 的各种配置和嵌套,包括 UNIQUE 以建立使用 "contacts" 的通用方法作为从中逻辑提取行的中心源,如上图所示。

这sheet反映了以上(无功能)并邀请建议:https://docs.google.com/spreadsheets/d/1NRY-udwepbFahVryX7FF6WIQ0vtFJkjuuhRWFJVAWnI

1。尚未联系

=FILTER(contacts!A2:D1000, NOT(COUNTIF(contacts!B2:B1000, history!B2:B1000)))

2。已经联系了两次

=UNIQUE(FILTER(history!A2:D1000, COUNTIF(history!B2:B1000, history!B2:B1000)>1))

3。未通过 "campaign1"

联系

=FILTER(campaign2!A2:D1000, NOT(COUNTIF(campaign1!B2:B1000, campaign2!B2:B1000)))

4。不属于 "unsubscribe"

=FILTER(contacts!A2:D1000, NOT(COUNTIF(unsubscribe!A1:A999, contacts!B2:B1000)))

5。已经联系过两次并且不属于 "unsubscribe"

=UNIQUE(FILTER(history!A2:D1000, COUNTIF(history!B2:B1000, history!B2:B1000)>1, 
 NOT(COUNTIF(unsubscribe!A1:A999, history!B2:B1000))))

6.使用命名范围定义公式。

=UNIQUE(FILTER(History, COUNTIF(historyB, historyB)>1, 
 NOT(COUNTIF(unsubscribe, historyB))))