如何编写Google Sheet自定义函数IsUnderline统计指定区域下划线单元格数量
自定义函数IsUnderline:统计Google Sheets中带下划线格式的单元格数量
下面是实现需求的完整Google Apps Script代码,直接复制到你的Sheet脚本编辑器里就能用:
function IsUnderline(range) { const sheet = SpreadsheetApp.getActiveSpreadsheet(); const rangeObj = sheet.getRange(range); const styles = rangeObj.getTextStyles(); let count = 0; // 遍历区域内的每个单元格 for (let row = 0; row < styles.length; row++) { for (let col = 0; col < styles[row].length; col++) { // 判断下划线状态:只要不是无下划线就算入统计 const underlineType = styles[row][col].getUnderline(); if (underlineType !== SpreadsheetApp.Underline.NONE) { count++; } } } return count; }
代码说明
- 函数接收一个
range参数,对应你在Sheet中指定的单元格区域(比如A1:C5) - 通过
getTextStyles()批量获取区域内所有单元格的文本样式,避免逐个单元格读取的性能损耗 - 兼容所有下划线类型:单下划线、双下划线、会计专用下划线等,只要不是无下划线状态都会被统计
- 最终返回符合条件的单元格总数
使用方法
- 打开目标Google Sheet,点击顶部菜单栏「扩展程序」→「Apps 脚本」
- 删除编辑器里的默认代码,粘贴上面的代码,保存项目(可自定义项目名称)
- 返回Sheet,在任意空白单元格输入公式,比如
=IsUnderline(A1:C10),回车即可得到统计结果 - 首次使用会触发授权提示,按照页面指引完成授权就能正常运行
内容的提问来源于stack exchange,提问作者M. D.
相关产品推荐
相关产品推荐

