google-apps-script - Google App Script - 如果另一列中的条件匹配,则将数字条目设为 0
问题描述
我正在尝试自动化执行以下操作的操作..
如果该数值旁边的列中的条目满足,则使数值为零。
https://docs.google.com/spreadsheets/d/1Ipo716-K17BUn6RzS2AQqSaC41eSqAEKux-nckeir9Q/edit?usp=sharing
以上是我所指的示例数据的链接
基本上,如果 A 列“事件”包含“不计算”,我想将这些转换为“0”
所以正确的总转化次数将是 80
有没有办法通过 Google App Script 有效地做到这一点?
以下是我尝试过的
function testing(){
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1')
var data = sh.getDataRange().getValues()
for (n=0; n<data.length;++n){
if(data[n][0].toString().match('Retargeting - do not count') == 0){
data[n][2] = 0
}
else if(data[n][0].toString().match('Step 3 pool size - do not count') == 0){
data[n][2] = 0
}
else if(data[n][0].toString().match('Step 2 Retargeting - do not count') == 0){
data[n][2] = 0
}
}
Logger.log(data)
sh.getRange(1,1,data.length,data[2].length).setValues(data);
}
解决方案
如果您只需要检查contains "do not count"
,那么您不需要为每种类型的文本单独设置条件。
另一个变化是,如果没有匹配,结果是null
, not 0
。
因此,在 for 循环中,您可以尝试:
if(data[n][0].toString().match('do not count') != null){
data[n][2] = 0;
}
推荐阅读
- vb.net - 在面板 VB.Net 中自动调整 WinForm
- ios - Downloading image from Firebase and adding it to an Array
- flask - Overwrite an id of a parent element of a Jinja template
- flutter - Center row child and right-align
- c++ - Hot Air Balloon not visible
- angular - How to set a binary value for a angular checkbox based on user input?
- encoding - "-" 显示 sublime 和 IDEA 之间的差异
- php - How to delay PHP function from triggering in a jQuery Ajax Loop?
- javascript - react-native-vector-icons + mocha: Invariant Violation
- python - What is wrong in this python script?