如何粘贴COUNTIF公式计算结果而非公式本身?
解决Google Sheets脚本粘贴公式而非数值的问题
你需要先计算出COUNTIF的结果,再将静态数值写入单元格,而不是直接插入公式。这样历史记录就不会随原数据更新而变化。
修改后的脚本:
function addDate() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getActiveSheet(); var currentSheet = ss.getSheetByName('currentAffiliates'); var tz = ss.getSpreadsheetTimeZone(); var d = Utilities.formatDate(new Date(), tz, 'yyyy-MM-dd'); // 获取C列所有非空数据 var columnC = currentSheet.getRange('C:C').getValues().flat().filter(val => val !== ''); // 统计"Joined"和"Rejected"的数量 var joinedCount = columnC.filter(val => val === 'Joined').length; var rejectedCount = columnC.filter(val => val === 'Rejected').length; // 写入日期和计算后的静态数值 sh.appendRow([d, joinedCount, rejectedCount]); }
关键改动说明:
- 新增获取
currentAffiliates工作表的逻辑,直接读取C列数据 - 通过数组过滤统计符合条件的条目数量,得到静态数值
appendRow时传入的是计算后的数值,而非公式字符串
这种方式比插入公式后再转换数值更高效,也彻底避免了公式依赖带来的动态变化问题。
内容的提问来源于stack exchange,提问作者hamd01
相关产品推荐
相关产品推荐

