我想删除第一个逗号之后的值。可能会有更多的值和逗号。
预期结果:
8-1
10-1
2-5
5-8从Logger.log获得的ss用于var Id

function myFunction() {
var Sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var FirstRow = 7;
var LastRow = Sheet.getLastRow();
var RowRange = LastRow - FirstRow + 1;
var WholeRange = Sheet.getRange(FirstRow,3,RowRange,9);
var AllValues = WholeRange.getValues();
for (var i=0;i<AllValues.length;i++){
var CurrentRow = AllValues[i];
var Id = CurrentRow[0]; //col with ID Sheet1
var firstId = Id.map(vA=>[vA.split(',')[1]]);
}
}发布于 2021-01-26 12:10:07
解释:
可以使用拆分方法和地图对所有输入数据应用此操作,并获得结果数组的第一个[0]元素:
data.map(vA=>[vA.split(',')[0]])代码片段:
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const avals = sh.getRange('A1:A4').getValues().flat();
const bvals = avals.map(vA=>[vA.split(',')[0]]);
sh.getRange(1,2,bvals.length,1).setValues(bvals);
}用于代码片段的表:

确保将输入文本格式化为plain text,否则google将输入数据视为dates,或者使用getDisplayValues()而不是getValues(),但我想您已经知道了这一部分,因为console.log返回正确的输入。
根据您编辑的问题更新的答案:
按以下方式修改当前的for循环:
for (var i=0;i<AllValues.length;i++){
var CurrentRow = AllValues[i];
var Id = CurrentRow[0]; //col with ID Sheet1
var newId = Id.split(',')[0];
console.log(newId);
}https://stackoverflow.com/questions/65901010
复制相似问题