在ARRAYFORMULA中使用QUERY时,范围不会改变

时间:2015-06-24 16:42:20

标签: arrays google-sheets spreadsheet

我有一大堆数据存储在电子表格中,并希望从中提取一些信息。

基本上,我有两列,EmailReference。我使用以下示例进行测试:

Email               Reference
-----------------------------
abc.xyz@corp.com    REF-0001
def.xyz@corp.com    REF-0002
def.xyz@corp.com    REF-0003
ghi.xyz@corp.com    REF-0004
jkl.xyz@corp.com    REF-0005
mno.uvw@corp.com    REF-0006
mno.uvw@corp.com    REF-0007
pqr.xyz@corp.com    REF-0008
pqr.xyz@corp.com    REF-0009

对于每封电子邮件,我想列出参考资料,如下所示:

Email               References
-------------------------------------
abc.xyz@corp.com    REF-0001
def.xyz@corp.com    REF-0002,REF-0003
ghi.xyz@corp.com    REF-0004
jkl.xyz@corp.com    REF-0005
mno.uvw@corp.com    REF-0006,REF-0007
pqr.xyz@corp.com    REF-0008,REF-0009

我使用以下公式在结果中生成Reference列:JOIN(","; UNIQUE(QUERY($A$3:$B; "select B where A='"&$D13&"'"))),其中$D13是相应的电子邮件地址。当将此公式拖放到其他单元格中时,此功能完全正常。

但是,当我尝试使用以下公式:ARRAYFORMULA(IF(ISBLANK(D13:D);;JOIN(","; UNIQUE(QUERY($A$3:$B; "select B where A='"&D13:D&"'")))))时,只会将D13的值复制到该范围的所有单元格上。

为什么是taht?为什么D13被认为是固定值,而公式仍在扩大?

当我意识到我的问题有点长时,您可以在以下链接中找到我使用的示例:

LINK TO THE SPREADSHEET SAMPLE

1 个答案:

答案 0 :(得分:0)

并非所有Sheet函数都可以在arrayformula中使用,我的理解是QUERY和UNIQUE都不会以这种方式工作。