查询Google表格邮件列表的条件唯一情况

时间:2019-07-17 05:41:35

标签: filter google-sheets google-sheets-formula google-sheets-query google-query-language

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

基本结构是一个“联系人”工作表,其中包含电子邮件地址,姓名等不断增长的列表。然后,我为每个新的电子邮件活动(即要发送的大量电子邮件)添加新的工作表。还有一个“取消订阅”列表,以禁止将来的任何广告系列中包含电子邮件地址。

我努力想出一种解决方案,使我能够识别出例如

  • (a)从未联系过
  • (b)已经联系过两次
  • (c)未通过“ campaign1”联系
  • AND不属于“退订”

我的逻辑方法是建立一个“历史记录”表,该表列出了到目前为止所有活动的所有电子邮件地址。我面临寻找一种解决方案的挑战,该解决方案可以比较“联系人”和“历史记录”并正确返回与我的搜索参数对齐的行,但返回给定的电子邮件地址不超过一次(以使每个广告系列不会多次向人们发送电子邮件) )。

我尝试了QUERYFILTERSORTN(包括UNIQUE)的各种配置和嵌套,以建立一种以“联系人”为中心的通用方法如上所述,从逻辑上提取行。

此工作表反映了以上内容(无功能)并邀请您提出建议:https://docs.google.com/spreadsheets/d/1NRY-udwepbFahVryX7FF6WIQ0vtFJkjuuhRWFJVAWnI

1 个答案:

答案 0 :(得分:1)

1。从未联系过

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

0

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)))

0

4。不是“退订”的一部分

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

0

5。已经联系过两次并且不属于“退订”

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

2

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

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

0