如何在arrayformula()中偏移importrange()

问题描述 投票:0回答:1

我有两个包含信息的Google表格(单独的文档),我们称它们为MasterSource。在Source中,我有一个不确定的单元格范围,这些单元格按日期排序,需要在Master中显示。 Master旨在链接到所有各个Source图纸,在正常操作中,我将拥有多个此类链接,因此我可以查看有关在[[ C0]。 Source包含一个日期范围,该日期范围从Master内的日期范围开始和结束(以适应其他Master表中的其他日期范围)。

我的目标是创建一个单个单元格公式,该公式可以针对需要在Source中查看的每个Source复制并粘贴,以将Source的日期范围前后的列中的单元格填充为字符串“ No Class”以及与日期范围Master相匹配的所有单元格将简单地是对Source中的匹配单元格的复制/引用。这是我想出的公式:

Source
Source

[令人惊讶的是,它工作得很好,除了一个主要缺点:=ARRAYFORMULA(if({A1:Z1;A1:Z1;A1:Z1;A1:Z1;A1:Z1}<importrange(Link!B4,"Source!A1"),"No Class",if({A1:Z1;A1:Z1;A1:Z1;A1:Z1;A1:Z1}>Link!N4,"No Class",importrange(Link!B4,"Source!A1:Z99")))) 的值数组相对于公式所在的单元格-又名,Link!N4 = Start Date Link!B4 = hyperlink to the google sheet `Source` 的范围从importrange开始而不是开始在与Source具有相同日期的第一列中。

这是Master!A1中我的公式结果的Source!A1。 *编辑:screenshot具有条件格式,以使字体颜色与填充色匹配,因此在此屏幕截图中看不到它,但是它们是深灰色单元格。

还有Master,这次是我要查看的No Class

我意识到这种方法可能不是唯一的方法(或者可能根本无法工作),但是每次尝试其他操作时,总会遇到相同的问题:如何动态地在第一列中启动another screenshot是否使用第一个单元格中的公式匹配Source中的日期?

google-sheets google-sheets-formula
1个回答
0
投票
importrange

Source

这首先通过检查iferror起作用(但是我会再说)。>>
    然后,如果与公式在同一列中的日期小于开始日期,则该列将填充“ No Class”(隐藏开始日期之前的日期)
  1. ELSE如果与公式在同一列中的日期与=iferror(if(importrange(Link!$B4,"Source!A1")>A2,{"No Class";"No Class";"No Class";"No Class";"No Class"},if(importrange(Link!$B4,address(1,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE,"Source"))=A2,importrange(Link!$B4,address(2,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE,"Source")&":"&address(5,COLUMN(A3)-match(importrange(Link!$B4,"Source!A1"),$A2:$Z2,0),4,TRUE)),"No Class")),{"No Class";"No Class";"No Class";"No Class";"No Class"}) 列中的日期相同(由距开始日期的列数偏移),则用[ C0](又称一次填充一列,而不是一次导入整个范围)。
  2. (返回iferror)结束日期之后的所有列都会返回错误-因此iferror将这些列填充为“无类”
© www.soinside.com 2019 - 2024. All rights reserved.