如何将arrayformula应用于一系列列

时间:2018-12-22 00:57:56

标签: google-sheets

我正在尝试制作电子表格以跟踪组织的成员身份。

基本上,我的设计是一个输入表,其中包含与到期日期相关联的名称列,然后是另一个工作表,该表收集所有唯一名称及其所有相关的到期日期,最后一个工作表将名称过滤为仅包含到期日期的名称日期。

我能够使用arrayformula将所有唯一的名称收集到一列中,但是我一直试图进行某种形式的查找操作,对于每种名称,查找操作都会在每一列中查找该名称,如果出现然后它将相关的到期日期添加到列表中(否则添加一个空白单元格,然后我可以过滤掉空白单元格)。

是否可以使用vlookup或arrayformula中的其他任何方法对范围中的所有列执行一系列操作?另外,我想使用arrayformula,因为我希望公式是无限的,以便电子表格可以继续增长。我尝试使用

=ARRAYFORMULA(IF(ISERROR(VLOOKUP(A1:A,Sheet1!A2:200,1,FALSE)),,Sheet1!A1:1))

但是vlookup和我尝试过的其他任何操作(例如match)都将Sheet1!A2:200解释为单个范围,并且仅在第一列中执行查找,而不在每一列中进行单独查找。

例如,我可能在Sheet1上有此输入

enter image description here

并希望将此结果放在另一张纸上

enter image description here

1 个答案:

答案 0 :(得分:0)

我怀疑您真正想要的和合理实用的组合是脚本,但以下是数组公式,尽管扩展起来很麻烦并且确实需要复制(从B1开始):

=split(if(ISERROR(match(A1,Sheet1!A:A,0)),"",Sheet1!A$1)&"|"&if(ISERROR(match(A1,Sheet1!B:B,0)),"",Sheet1!B$1)&"|"&if(ISERROR(match(A1,Sheet1!C:C,0)),"",Sheet1!C$1),"|")

假设ColumnA中具有唯一的名称列表,例如创建者:

=unique(QUERY({Sheet1!A2:A6;Sheet1!B2:B6;Sheet1!C2:C6},"where Col1 is not NULL"))

在A1中。