检查单元格是否为数字的电子表格脚本,如果不是,则清除内容,如果是数字,则清除格式
Spreadsheet script that checks if a cell is a number if not it clears the content, if it is a number clears the formatting
我不太擅长这类事情,谷歌搜索也没有 return 任何结果。
有谁知道如何编写一个脚本来清除特定列中的所有单元格(如果它们不是数字)?如果是,它只会清除格式。
我还想对包含文本的多个单元格应用脚本的清除格式部分。对于这些,无需检查单元格包含的内容。我只是想让它重置为纯文本。(默认为 10,Arial)
到目前为止,这就是我所拥有的
function onEdit()
{
var sheet = SpreadsheetApp.getActive().getSheetByName('Market');
var isNumber = sheet.getRange('E2:E1000').getValue()
if (isNumber
};
我不知道其余的措辞应该是什么样子。而我主要对第一部分感兴趣
感谢您的帮助!
这将删除文本。如果您愿意,可以通过删除注释掉的脚本将剩余的数字设置为文本。
function onEdit(){
var sheet = SpreadsheetApp.getActive().getSheetByName('Market');
var lr=sheet.getLastRow()
var vals = sheet.getRange(2,5,lr,1).getValues()
var newVals=[]// New array of numbers only and blank where text.
for(i=0;i<vals.length;i++){
if(typeof vals[i][0]=="number"){//If a number keep the number.
newVals.push([vals[i][0]])}
else{ //If not a number create a blank value.
vals[i][0]=""
newVals.push([vals[i][0]])}
}
var set= sheet.getRange(2,5,newVals.length,1).setValues(newVals)//Reset column E.
// sheet.getRange(2,5,newVals.length,1).setNumberFormat('@STRING@')//If ypu want the numbers formated as a string remove //
Logger.log(newVals)
};
我不太擅长这类事情,谷歌搜索也没有 return 任何结果。 有谁知道如何编写一个脚本来清除特定列中的所有单元格(如果它们不是数字)?如果是,它只会清除格式。
我还想对包含文本的多个单元格应用脚本的清除格式部分。对于这些,无需检查单元格包含的内容。我只是想让它重置为纯文本。(默认为 10,Arial)
到目前为止,这就是我所拥有的
function onEdit()
{
var sheet = SpreadsheetApp.getActive().getSheetByName('Market');
var isNumber = sheet.getRange('E2:E1000').getValue()
if (isNumber
};
我不知道其余的措辞应该是什么样子。而我主要对第一部分感兴趣
感谢您的帮助!
这将删除文本。如果您愿意,可以通过删除注释掉的脚本将剩余的数字设置为文本。
function onEdit(){
var sheet = SpreadsheetApp.getActive().getSheetByName('Market');
var lr=sheet.getLastRow()
var vals = sheet.getRange(2,5,lr,1).getValues()
var newVals=[]// New array of numbers only and blank where text.
for(i=0;i<vals.length;i++){
if(typeof vals[i][0]=="number"){//If a number keep the number.
newVals.push([vals[i][0]])}
else{ //If not a number create a blank value.
vals[i][0]=""
newVals.push([vals[i][0]])}
}
var set= sheet.getRange(2,5,newVals.length,1).setValues(newVals)//Reset column E.
// sheet.getRange(2,5,newVals.length,1).setNumberFormat('@STRING@')//If ypu want the numbers formated as a string remove //
Logger.log(newVals)
};