我的好奇心促使我问出这个问题。
如果我有一系列引用工作表中不同列但都以同一行数据结束的函数,是否有办法将单元格引用的“行”部分指向空白单元格并使用它有一个变量来同时显示直到所需行的函数结果?
例子:
=Average('worksheet 1'.$A$1:'worksheet 1'.$A100)
=Max('worksheet 1'.$B$1:'worksheet 1'.$B100)
=Min('worksheet 1'.$C$1:'worksheet 1'.$C100)
=Sum('worksheet 1'.$D$1:'worksheet 1'.$D100)
伪公式...
=Average('worksheet 1'.$A$1:'worksheet 1'.$A**('worksheet 2'.$A$1)**)
=Max('worksheet 1'.$B$1:'worksheet 1'.$B**('worksheet 2'.$A$1)**)
=Min('worksheet 1'.$C$1:'worksheet 1'.$C**('worksheet 2'.$A$1)**)
=Sum('worksheet 1'.$D$1:'worksheet 1'.$D**('worksheet 2'.$A$1)**)
其中“工作表 2”$A$1
仅包含与“工作表 1”中的一行相对应的数字。
在偶然发现并使用该indirect()
函数后,我只能成功替换整个单元格引用(列和行)。
迄今为止的公式
=SUM('worksheet 1'.C3:INDIRECT(A1))
其中 A1 位于“工作表 2”上,并且包含指向“工作表 1”的完整单元格引用。
有什么指点吗?
答案1
Concatenate()
今天我突然顿悟,在查看了函数向导后,我发现电子表格有一个连接函数。INDIRECT(CONCATENATE())
嵌套函数就派上用场了。连接函数可以填充单元格引用(我可以随时手动修改),而间接函数使用组合项指向另一个电子表格上的位置,就像这样。
LOOKUP($A6,$'Receipts - Labor'.$A$3:INDIRECT(CONCATENATE("'Receipts - Labor'.A",$D$1)),$'Receipts - Labor'.C$3:INDIRECT(CONCATENATE("'Receipts - Labor'.C",$D$1)))
绝对单元格引用$D$1
允许我通过修改单个单元格来增加所有公式的上限范围。