我有两个包含信息的Google表格(单独的文档),我们称它们为Master
和Source
。在Source
中,我有一个不确定的单元格范围,这些单元格需要按日期显示在Master
中。 Master
旨在链接到所有各种Source
工作表,在正常操作中,我将拥有多个工作表,因此我可以查看有关所有{{1} }表格方便地显示在Source
中。 Master
包含一个日期范围,该日期范围在Master
内的日期范围之前和之后结束(以适应其他Source
个工作表中的其他日期范围)。
我的目标是创建一个单个单元格公式,该公式可以针对需要在Source
中查看的每个Source
复制和粘贴,以填充日期范围前后的列中的单元格来自Master
的字符串“ No Class”,并且与日期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`
的值数组是相对于公式所在的单元格的-aka,importrange
的范围始于{ {1}},而不是从与Source
具有相同日期的第一列开始。
这是Master!A1
中公式结果的screenshot。 *编辑:Source!A1
具有条件格式,以使字体颜色与填充色匹配,因此在此屏幕截图中您看不到它,但是它们是深灰色单元格。
还有another screenshot,这次是我要查看的Master
。
我意识到这种方法可能不是唯一的方法(或可能根本不起作用),但是每次尝试其他操作时,总会遇到相同的问题:如何动态地启动No Class
第一列使用第一个单元格中的公式与Source
中的日期匹配?
答案 0 :(得分:1)
我找到了可以接受的解决方法。这绝不是解决偏移数组中数据问题的解决方案,但它使我能够完成需要做的事情。需要使用填充手柄(所选单元格右下角的蓝色方框)填充此代码。如果有人遇到类似情况并需要其他方法来解决问题,我将在此处添加。
=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"})
A2 is the date of the coloumn in master I'm trying to import into, it changes as your drag the fill handel.
A3 is the cell that the formula is currently in
Source
列中的日期相同(由距起始日期的列数偏移),则用相应的列填充Source
中的一列(又称一次填充一列,而不是一次导入整个范围)。