Google 表格计算多个表格中的单个单元格
Googlesheets count single cell across multiple sheets
寻找一个公式来计算多个(整个 class 个学生)工作表中单个单元格的值。我知道使用 + 来执行此操作,但对于 30 名学生,我想要更动态的东西,例如使用范围。
要么像这样硬编码:
=COUNTIF({Anthony!$A1,Lee!$A1,Cornelius!$A1,Liam!$A1}, B1)
或使用脚本:
function SNAME(option) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var thisSheet = sheet.getName();
if(option === 0){ // ACTIVE SHEET NAME =SNAME(0)
return thisSheet;
}else if(option === 1){ // ALL SHEET NAMES =SNAME(1)
var sheetList = [];
ss.getSheets().forEach(function(val){
sheetList.push(val.getName())
});
return sheetList;
}else if(option === 2){ // SPREADSHEET NAME =SNAME(2)
return ss.getName();
}else{
return "#N/A"; // ERROR MESSAGE
};
};
=INDEX({"","","";"=COUNTIF({"&TEXTJOIN(";", 1, "INDIRECT("""&QUERY(SNAME(1),
"where Col1 <> '"&SNAME(0)&"'")&"!A1"")")&"}, """&A1:C1&""")"})
寻找一个公式来计算多个(整个 class 个学生)工作表中单个单元格的值。我知道使用 + 来执行此操作,但对于 30 名学生,我想要更动态的东西,例如使用范围。
要么像这样硬编码:
=COUNTIF({Anthony!$A1,Lee!$A1,Cornelius!$A1,Liam!$A1}, B1)
或使用脚本:
function SNAME(option) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var thisSheet = sheet.getName();
if(option === 0){ // ACTIVE SHEET NAME =SNAME(0)
return thisSheet;
}else if(option === 1){ // ALL SHEET NAMES =SNAME(1)
var sheetList = [];
ss.getSheets().forEach(function(val){
sheetList.push(val.getName())
});
return sheetList;
}else if(option === 2){ // SPREADSHEET NAME =SNAME(2)
return ss.getName();
}else{
return "#N/A"; // ERROR MESSAGE
};
};
=INDEX({"","","";"=COUNTIF({"&TEXTJOIN(";", 1, "INDIRECT("""&QUERY(SNAME(1),
"where Col1 <> '"&SNAME(0)&"'")&"!A1"")")&"}, """&A1:C1&""")"})