![](/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.