如何获取特定列最后一个有值的行ID?(列值行数不一致场景)
获取B列最后一个非空单元格的行ID
先看你的表格:
| A | B | |
|---|---|---|
| 1 | A | Yes |
| 2 | B | |
| 3 | C | No |
| 4 | D | Yes |
| 5 | E | |
| 6 | F | |
| 7 | ||
| 8 |
针对你说的getLastRow()和filter(String).length都不适用的情况,可以用以下Google Apps Script脚本实现需求:
function getLastNonEmptyRowInColumnB() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const columnB = sheet.getRange("B:B").getValues(); // 从最后一行向上遍历,定位第一个非空单元格 for (let i = columnB.length - 1; i >= 0; i--) { if (columnB[i][0] !== "") { const rowNum = i + 1; // 数组索引从0开始,行号从1开始计数 return `B${rowNum}`; } } return "B列无有效数据"; }
脚本说明:
- 先获取当前工作表的B列所有数据
- 从B列的最后一行开始向上逐个检查单元格,找到第一个非空值的位置
- 把数组索引转换为实际行号,拼接成
B+行号的格式返回 - 如果B列全为空,会返回提示文本
内容的提问来源于stack exchange,提问作者Kal El
相关产品推荐
相关产品推荐

