ARRAYFORMULA、QUERY 和 IMPORTRANGE 仅显示单行的结果

ARRAYFORMULA, QUERY, and IMPORTRANGE is only displaying results for a single row

我想知道我的公式是否有问题,因为它没有像数组那样填满整个列。

目前我的公式与 B2 完美配合,但不适用于整个范围 B2:B。

这是我的公式:

=ARRAYFORMULA(QUERY({
 {IMPORTRANGE("URL TO PRIVATE SHEET","$L2:$O")} 

},"select Col4 WHERE Col1 CONTAINS " & $A2:A))

IMPORTRANGE sheet 看起来像... https://docs.google.com/spreadsheets/d/1GFnkuE3Dx-rTuvEV6wj1mCEq3P6cOxbzYco4aFVNw-I/edit?usp=sharing

|   L    |M|N|        O         |
| 000001 |*|*|JohnDoe@email.com |
| 000002 |*|*|JaneDoe@email.com |
| 000003 |*|*|BobDoe@email.com  |

ARRAYFORMULA 在 B2 中 https://docs.google.com/spreadsheets/d/1JaWUWS3xKOwSX9y7uWUqEU5_Knp8nRgnhlVa1kRNlTo/edit?usp=sharing

|   A    |        B          |
| 000003 |  BobDoe@email.com | <- Contains the formula above and works.
| 000001 |        *          | <- No data: should say "JohnDoe@email.com"
| 000002 |        *          | <- No data: "JaneDoe@email.com"

这是 Google 表格中的限制吗?谢谢!

你不能像那样在查询的第二个参数中包含数组。也许试试:

=ARRAYFORMULA(QUERY({{IMPORTRANGE("URL TO PRIVATE SHEET", "L2:O")}},
 "select Col4 
  where Col1 matches '"&TEXTJOIN("|", 1, A2:A)&"'"))

更新:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A, QUERY({
 {IMPORTRANGE("1GFnkuE3Dx-rTuvEV6wj1mCEq3P6cOxbzYco4aFVNw-I", "L2:O")}},
 "select Col1,Col4 
  where Col1 is not null", 0), 2, 0)))