Google Sheets跨多工作表统计未勾选复选框数量求助
批量统计Google Sheets多工作表复选框未勾选数量
针对你需要统计70个教师工作表中B/C/D列未勾选复选框数量的需求,以下是两种无需手动输入工作表名的解决方案:
方案1:自定义函数+数组公式(无需批量运行脚本)
步骤1:创建获取工作表名的自定义函数
- 打开目标表格,点击「扩展程序」→「Apps Script」
- 删除默认代码,粘贴以下脚本:
function GETSHEETNAMES() { return SpreadsheetApp.getActiveSpreadsheet().getSheets().map(sheet => sheet.getName()); }
- 保存项目(可命名为
SheetNameTools),关闭脚本编辑器
步骤2:自动生成工作表名列表
在新建的「统计总表」A1单元格输入:
=GETSHEETNAMES()
A列会自动列出所有工作表的名称,后续新增工作表时右键A1单元格选择「刷新」即可更新。
步骤3:批量统计未勾选数量
在「统计总表」的B1-D1分别输入表头:未携带满电Chromebook、未携带充电器、未携带保护套,E1输入总计未完成,然后在对应单元格输入以下公式:
- B2(统计B列未勾选):
=BYROW(A2:A, LAMBDA(sheet, IF(sheet="",,COUNTIF(INDIRECT("'"&sheet&"'!B:B"), FALSE))))
- C2(统计C列未勾选):
=BYROW(A2:A, LAMBDA(sheet, IF(sheet="",,COUNTIF(INDIRECT("'"&sheet&"'!C:C"), FALSE))))
- D2(统计D列未勾选):
=BYROW(A2:A, LAMBDA(sheet, IF(sheet="",,COUNTIF(INDIRECT("'"&sheet&"'!D:D"), FALSE))))
- E2(总计):
=BYROW(B2:D, LAMBDA(row, IF(COUNTA(row)=0,,SUM(row))))
公式会自动遍历所有工作表,批量计算结果。
注:若工作表第一行是表头(无复选框),可将公式中的
B:B改为B2:B,避免统计无效行。
方案2:一键生成统计结果(Apps Script批量处理)
如果希望直接生成统计数据无需维护公式,可使用以下脚本:
- 打开「Apps Script」,粘贴代码:
function generateCheckboxStats() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheets = ss.getSheets(); const statsSheet = ss.getSheetByName("统计总表") || ss.insertSheet("统计总表"); // 清空旧数据,保留表头 statsSheet.clearContents(); statsSheet.getRange(1,1,1,5).setValues([["教师工作表", "未携带满电Chromebook", "未携带充电器", "未携带保护套", "总计未完成"]]); // 遍历所有工作表统计数据 const statsData = sheets.map(sheet => { const name = sheet.getName(); // 统计B/C/D列未勾选(FALSE)的数量 const colB = sheet.getRange("B:B").getValues().flat().filter(val => val === false).length; const colC = sheet.getRange("C:C").getValues().flat().filter(val => val === false).length; const colD = sheet.getRange("D:D").getValues().flat().filter(val => val === false).length; return [name, colB, colC, colD, colB + colC + colD]; }); // 写入统计结果 statsSheet.getRange(2,1,statsData.length,5).setValues(statsData); }
- 保存后点击运行按钮,授权后即可自动生成「统计总表」,包含所有工作表的统计数据。后续更新时重新运行该函数即可。
关于你之前INDIRECT函数失败的原因
通常是因为工作表名称包含空格或特殊字符,需要用'"&sheetName&"'将表名包裹,确保INDIRECT能正确解析工作表引用。
内容的提问来源于stack exchange,提问作者Andrew Berg
相关产品推荐
相关产品推荐

