![](/img/trans.png)
[英]Elastic Report Data in Sheets - Pulling from Multiple Sheets (Same Spreadsheet)
[英]Get value of same cell from multiple sheets
我想从工作表中的多个选项卡中获取单元格 A1 的值。 我试图使用INDIRECT
,只是被提醒它在ARRAYFORMULA
中不起作用。 是否有某种“临时”公式可以做同样的事情?
这是我最初尝试的:
=ArrayFormula(IF(LEN(A2:A),INDIRECT(A2:A&"!A1"),))
A 列是我工作表中选项卡名称的 select 列表。 所以第一个实例有效,但当然,它并没有像我希望的那样填充到列中。 我意识到我可以将公式复制到列中,但是当我向列表中添加行时,某种类型的ARRAYFORMULA
将是理想的。
我找到了这个答案,但不知道如何将其应用于我的情况。
我也找到了这个答案,但认为自从它 2.5 岁以来,也许有人发现了一种避免复制拖累的聪明方法。
您需要使用脚本或使用拖动方法来执行此操作 - INDIRECT
使用字符串引用,因此不能与数组一起使用。
不幸的是,对于使用ARRAYFORMULA
的INDIRECT
的用户来说,发现一个聪明的方法并不是问题——只能用公式来做的事情是这个问题的根源。
从工具 > 脚本编辑器菜单项,您可以创建脚本。 您可以使用的示例自定义公式如下:
function ARRAYINDIRECT(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
return input.reduce(function(array, el) {
if (el[0]) array.push(el[0])
return array;
}, []).map(x => ss.getSheetByName(x).getRange("A1").getValue());
}
然后确保使用保存图标保存脚本。
在您的工作表中,您可以这样调用此自定义公式:
=ARRAYINDIRECT(A2:A)
function 的概要:
A2:A
A1
中的值我希望这对你有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.