Google 张 - 在 ARRAYFORMULA 中查找

Google sheets - VLOOKUP inside ARRAYFORMULA

我正在尝试在 Google 表格中的数组公式内进行 Vlookup。

我有两个 sheet,S1 和 S2。

每个都有 3 个相同的列,Col A(日期)、Col B(姓名)和 Col(付款类型)

我想根据日期和姓名组合匹配将付款类型从 sheet 2 读入 sheet 1。意思是如果日期和姓名在 sheet 2 中匹配,return 付款类型。

这是我的 Vlookup 公式,

=VLOOKUP(A2,FILTER('S2'!A2:C7,'S2'!A2:A7 = A2,'S2'!B2:B7 = B2),3,FALSE)

以上公式解释:

S1 is sheet 1 and S2 is sheet 2

A2 <- Date from sheet 1

'S2'!A2:C7 <- Entire sheet 2 range

'S2'!A2:A7 = A2 <- Comparing sheet 2 dates with Date in A2 of sheet 1

'S2'!B2:B7 = B2 <- Comparing sheet 2 names with Name in B2 of sheet 1

3 <- Returning the third column value which is Payment Type if the date and name match.

这很好用。这是一个 link 到 spreadsheet 的例子:

https://docs.google.com/spreadsheets/d/1tIlq_kBWlM1Stj_Iqoua2LswW2IUl7TBbhnFFhPX4uo/edit?usp=sharing

我想用第二行中的一个数组公式替换所有行上的 Vlookup 公式。

这是我现在所拥有的,但无法正常工作。

=ARRAYFORMULA(VLOOKUP($A:$A,FILTER('S2'!A:C,'S2'!$A:A7 = $A:$A,'S2'!$B:B7 = $B:B7),3,FALSE))

拜托,有人能告诉我这里有什么问题吗?我对这些公式很差。请参考我上面附上的sheet。那会向你解释一切。

删除C列的所有内容,然后在C1中输入

={"Payment Type"; ARRAYFORMULA(IF(LEN(A2:A), VLOOKUP($A2:A&B2:B,{'S2'!$A:A7&'S2'!$B:B7, 'S2'!$C:C7},2,FALSE),))}

看看是否可行?