You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheet中实现带参数占位符的相对行列字数统计函数

Google Sheet 自定义相对单元格字数统计函数实现

一、创建自定义函数

  1. 打开你的Google Sheet,点击顶部菜单栏的「扩展」→「Apps 脚本」,进入脚本编辑器。
  2. 清空默认的myFunction代码,粘贴以下自定义函数代码:
function RELATIVE_CHAR_COUNT(colOffset, rowOffset, ignoreSpaces = false) {
  // 获取当前调用函数的单元格
  const activeRange = SpreadsheetApp.getActiveRange();
  const currentRow = activeRange.getRow();
  const currentCol = activeRange.getColumn();
  
  // 计算目标单元格的位置
  const targetRow = currentRow + rowOffset;
  const targetCol = currentCol + colOffset;
  
  // 获取当前工作表
  const sheet = activeRange.getSheet();
  
  // 检查目标单元格是否在工作表范围内
  if (targetRow < 1 || targetRow > sheet.getMaxRows() || targetCol < 1 || targetCol > sheet.getMaxColumns()) {
    return "#单元格不存在";
  }
  
  // 获取目标单元格的值
  const targetValue = sheet.getRange(targetRow, targetCol).getValue().toString();
  
  // 统计字数:根据参数决定是否忽略空格
  let charCount;
  if (ignoreSpaces) {
    charCount = targetValue.replace(/\s/g, "").length;
  } else {
    charCount = targetValue.length;
  }
  
  // 处理空值情况
  return targetValue === "" ? 0 : charCount;
}

二、参数说明

  • colOffset:列偏移量。0代表当前列,正数表示向右偏移对应列数,负数表示向左偏移对应列数(比如-1就是当前单元格左侧相邻列)。
  • rowOffset:行偏移量。0代表当前行,正数表示向下偏移对应行数,负数表示向上偏移对应行数(比如1就是当前单元格下方相邻行)。
  • ignoreSpaces(可选):布尔值,默认false。设为true时,统计字数会忽略所有空格(包括空格、制表符等空白字符)。

三、使用示例

  • 统计左侧同一行单元格的字数:=RELATIVE_CHAR_COUNT(-1, 0)
  • 统计下方同一列单元格的字数(忽略空格):=RELATIVE_CHAR_COUNT(0, 1, true)
  • 统计右上方第1行第2列单元格的字数:=RELATIVE_CHAR_COUNT(2, -1)

四、注意事项

  • 首次使用函数时,需要授权脚本访问你的Google Sheet数据,按照提示完成授权即可。
  • 如果目标单元格为空,函数会返回0;如果目标位置超出工作表范围,返回#单元格不存在。

内容的提问来源于stack exchange,提问作者Naomi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:00:57