我想一次从一张纸上提取信息,具体取决于某个单元格中的内容(最好是从下拉列表中),让我们说A1。
在下拉列表中的A1中,我想要当前工作簿+数据范围中的工作表名称(例如,这可能是A1:B10)。
在A1 = Sheet2 A1:B10中,这是一个完整的例子(作为字符串)
该公式将以A3为例
如果它是正常参考,它看起来像这样 = SUM(' Sheet2的' A1:!B10) 我正在寻找的东西会像这样工作 = SUM(A1) 但我可以想象它实际上看起来会更像这样 = SUM(" A1&#34) 或者如果它是一个更符合要求的问题 = QUERY(" A1"," SELECT A,B")粗略语法
希望这是有道理的,有人可以帮助,提前谢谢
如果不能在没有脚本的情况下完成,那就好了,只是想知道
答案 0 :(得分:1)
您可以尝试以下代码....
//This will add all the sheet Names and the range in the cell A1 as dropdown
function addDropDown(){
var cell= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange("A1");
var sheet= [];
var allsheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for( i = 0; i < allsheets.length; ++i){
if(allsheets[i].getName().toString().toLowerCase().indexOf("report")!=-1){
sheet.push(allsheets[i].getName()+"!"+allsheets[i].getDataRange().getA1Notation());
}
}
var rule = SpreadsheetApp.newDataValidation().requireValueInList(sheet).build();
cell.setDataValidation(rule);
}
唯一的问题是您无法直接使用=sum(A1)
,而是可以执行此操作=sum(INDIRECT(A1))
或=QUERY(INDIRECT(A1),"SELECT A, B")