Filter 谷歌电子表格-比较多对列以验证数据

Filter 谷歌电子表格-比较多对列以验证数据,filter,google-apps-script,match,google-sheets,array-formulas,Filter,Google Apps Script,Match,Google Sheets,Array Formulas,我有一个谷歌表单,有两组,每组六列。 每个集合都是通过importrange功能从两个不同的电子表格中导入的,这两个电子表格由各自的Google webforms提供。 我试图做的事情没有成功,就是一次比较多个“对”列以匹配单元格内容。 下面是工作数据示例: 代表客户支付 Address Person Service Invoice# $$ Payment date 50 Rodeo Drive Elton John

我有一个谷歌表单,有两组,每组六列。 每个集合都是通过
importrange
功能从两个不同的电子表格中导入的,这两个电子表格由各自的Google webforms提供。 我试图做的事情没有成功,就是一次比较多个“对”列以匹配单元格内容。 下面是工作数据示例:

代表客户支付

Address              Person            Service      Invoice#   $$    Payment date
50 Rodeo Drive       Elton John        Water        10        100   9/07/2013
678 California St    Robert DeNiro     Electricity  15        120   10/07/2013
345 Dalton Rd        Sylvester Stall1  Cable TV     23        45    11/07/2013
9876 Knoxville St    Al Pacino         Water        42        98    12/07/2013
Address             Person             Service      Invoice #   $$     Payment date
50 Rodeo Drive      Elton John         Water        10          100    9/07/2013
678 California St   Robert De Niro     Electricity  15          120    10/07/2013
从客户处恢复

Address              Person            Service      Invoice#   $$    Payment date
50 Rodeo Drive       Elton John        Water        10        100   9/07/2013
678 California St    Robert DeNiro     Electricity  15        120   10/07/2013
345 Dalton Rd        Sylvester Stall1  Cable TV     23        45    11/07/2013
9876 Knoxville St    Al Pacino         Water        42        98    12/07/2013
Address             Person             Service      Invoice #   $$     Payment date
50 Rodeo Drive      Elton John         Water        10          100    9/07/2013
678 California St   Robert De Niro     Electricity  15          120    10/07/2013
我的问题是如何将每对列一起进行比较(即第一个数据集中的“地址”列与第二个数据集中的“地址”列,依此类推)。目的是获得第三个数据集,其中“仅”包含恢复的发票,并显示相关数据(人名、支付和恢复的服务、发票#、支付金额和支付日期。是否有公式/函数/google apps脚本或它们的组合来执行此任务? 我使用
=ArrayFormula(if(len(D3:D);if(isnumber(match(D3:D;K3:K;0));“已恢复”;“待定”);iferror(1/0))进行测试。
但我只能检查两列之间是否匹配并显示标志。我的意思是,我想在显示结果之前检查是否有多个匹配


提前感谢!

您可以尝试以下方法:

=filter(Paid!A:F, countif(Recovered!A:A,Paid!A:A))
这将过滤付费列表,以仅显示付费列表和恢复列表中(可能不止一次)仅匹配一列的条目,在本例中,这两列中的A列

如果需要筛选多个列,可以尝试以下操作:

=filter(Paid!A:E, countif(Recovered!A:A&Recovered!B:B&Recovered!D:D,     Paid!A:A&Paid!B:B&Paid!D:D))

@David Tew:谢谢David,这很好用!它会检查所有对它们进行排序的列的项目类。我尝试添加一个条件,以便在两组列中成功找到一个项目时,它也会显示一个“已恢复”或“待定”类别。是否可以将条件添加到@DavidTew
=filter提供的公式中(付费!A:E,countif(已恢复!A:A&Recovered!B:B&Recovered!D:D,付费!A:A&PAYED!B:B&PAYED!D:D))
在筛选所需的匹配范围后,还根据“匹配”和“不匹配”的状态写入“X”和“Y”?