谷歌表格/Excel中统计拼接的非空字符串数量方法求助
统计参与拼接的非空字符串数量
公式方案(适用于Excel/Google Sheets)
方法1:SUMPRODUCT+LEN判断
如果字符串对应连续单元格(如A1、B1、C1),使用:
=SUMPRODUCT(--(LEN(A1:C1)>0))
若为非连续单元格(如A1、C1、E1),直接逐个判断求和:
=--(LEN(A1)>0) + --(LEN(C1)>0) + --(LEN(E1)>0)
原理:LEN(单元格)>0返回布尔值(非空为TRUE,空为FALSE),--将布尔值转换为1或0,求和结果即为非空字符串的数量。
方法2:COUNTIF函数
针对连续单元格区域,也可直接用COUNTIF统计非空值:
=COUNTIF(A1:C1,"<>")
注:该方法对单元格内的空字符串(如公式返回的"")也能正确识别。
Apps Script方案(适用于Google Sheets)
若需要更灵活的自定义逻辑,可创建以下自定义函数:
- 打开Google Sheets,点击「扩展程序」→「Apps Script」
- 粘贴代码并保存:
function COUNT_NON_EMPTY_STRINGS(...args) { let count = 0; args.forEach(item => { if (typeof item === 'string') { // 排除纯空格的字符串 if (item.trim() !== '') count++; } else if (Array.isArray(item)) { // 处理区域输入(如选中多个单元格) item.forEach(cell => { if (typeof cell === 'string' && cell.trim() !== '') count++; }); } }); return count; }
- 返回工作表,在单元格中调用:
=COUNT_NON_EMPTY_STRINGS(Str1, Str2, Str3)
该函数支持单个单元格、字符串常量或单元格区域作为参数,还会自动忽略纯空格的字符串。
内容的提问来源于stack exchange,提问作者Shaik Naveed
相关产品推荐
相关产品推荐

