1

我有一个谷歌表,其中有两组,每组六列。每个集合都是importrange从两个不同的电子表格中导入的,这些电子表格由它们自己的 Google 网络表单提供。我试图做的没有成功的是一次比较多个“对”列以匹配单元格内容。这是带有工作数据的示例:

代客户付款

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

我的问题是如何完全比较每对列(即第一个数据集中的“地址”列与第二个数据集中的“地址”列,依此类推。目的是获得第三个数据集“仅”恢复发票,还显示相关数据(人名、支付和恢复的服务、发票编号、支付金额和支付日期。是否有公式/函数/谷歌应用程序脚本或它们的组合来执行此任务?我测试了=ArrayFormula(if(len(D3:D);if(isnumber(match(D3:D;K3:K;0));"Recovered";"Pending");iferror(1/0))) 但我只能检查两列之间是否匹配并显示一个标志。我的意思是,我想在显示结果之前检查是否有多个匹配项。

提前致谢!

4

1 回答 1

3

您可以尝试以下方法:

=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))
于 2013-07-13T07:26:02.523 回答