根据单元格中的值将数据从一张纸复制到另一张纸

时间:2019-07-22 09:24:17

标签: if-statement google-sheets google-sheets-formula array-formulas importrange

我有一个包含多个工作表的Google工作表。 大使用户表具有多个用户的列表(ID,电子邮件,优惠券以及另外三个不相关的列)。 每个新用户都通过Zapier更新到工作表。 我可以有三个用户使用优惠券1234,四个用户使用ABCD,两个用户使用XYZ。 然后,我为每种类型的优惠券(也通过Zapier)创建一个唯一的工作表,并只想使用具有该工作表正确的优惠券的用户来更新每个工作表。 优惠券还列在每张纸的单元格J1中。 我需要自动更新而不需要按任何按钮。

我不知道如何使用Google表格上的功能(我知道它与VBA不同),尽管我使用功能是最好的解决方案。 我尝试将IF函数与INDEX函数结合使用,但它确实有效,但是,它要求我将函数复制到每一行中,从而减少了自动化选项。

=if('Ambassador users'!$C3=$J$1, index('Ambassador users'!A3:G3),"")

然后我尝试使用IMPORTRANGE函数,此方法有效,但不能与IF结合使用

=if('Ambassador users'!$C2=$J$1, importrange("1QHGSCR_pVepNlMtjFshvGnI-vSPzgqi3g9jz98","'Ambassador users'!A2:G11"),"")

这给了我大使用户表中的所有行。

我认为我在设置的初始范围内对IF语句做错了。 我还尝试在IF中设置一个范围,但这完全不起作用。

1 个答案:

答案 0 :(得分:1)

使用ARRAYFORMULA尝试这样:

=ARRAYFORMULA(IF('Ambassador users'!C3:C=J1, 'Ambassador users'!A3:G, ))

FILTER

=FILTER('Ambassador users'!A3:G, 'Ambassador users'!C3:C=J1)