2

我的工作表中的許多單元格條目都包含要刪除的無關單詞。我需要一個腳本來查找單個列中的關鍵字(在本例中爲「B」)並按順序刪除它們。目標是使單元格條目更短。在Google表格中自動查找並替換腳本 - 刪除某些單元格內容 - 全局替換

我的關鍵詞是 「史詩Artifactory的DIY」, 「糧倉」, 「木板」,「包 「優惠券:WTXPXZP」, 「優惠券:FREESHIP50」, 「優惠券:SPRING10」 和 「牆」

我發現這個劇本,但它不會爲我工作。

function fandr() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet(); 
    var s=ss.getActiveSheet(); 
    var r=s.getDataRange(); 
    var vlst=r.getValues(); 
    var i,j,a,find,repl; 
    find="abc"; 
    repl="xyz"; 
    for (i in vlst) { 
    for (j in vlst[i]) { 
     a=vlst[i][j]; 
     if (a==find) vlst[i][j]=repl; 
    } 
    } 
    r.setValues(vlst); 
} 

感謝

+0

您試圖改變「ABC」你的關鍵詞之一,而「某某」你要替換它嗎? –

回答

0

此谷歌腳本功能將幫助您找到並(在這種情況下,B)在一個特定的列替換所有細胞的文字。

function findReplace() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var data = sheet.getDataRange().getValues(); 
    var column = 2; 
    for (var d=0, l=data.length; d<l; d++) { 
    if (data[d][column-1] === "find") { 
     sheet.getRange(d+1, column).setValue("replace"); 
    } 
    } 
    SpreadsheetApp.flush(); 
} 
+0

好的答案,我也喜歡更好的變量命名,但是這隻適用於替換單個值而不是OP要使用的列表。 –

2

這是一些代碼,它只在一列中獲取數據,並用空字符串替換所有內容(刪除單詞)。將單詞替換爲Google表格的一列。

function replaceInColumn() { 
    var arrayWordsToFind,dataInColumn,dataAsString,newString, 
     newData,outerArray,i,lastrow,L,sh,ss,tempArray,toFind; 

    arrayWordsToFind = [ 
    "Epic Artifactory DIY", "Barn", "Planks", "Pack", 
    "Coupon: WTXPXZP", "Coupon: FREESHIP50", "Coupon: SPRING10", "Wall" 
    ] 

    ss = SpreadsheetApp.getActiveSpreadsheet(); 
    sh = ss.getSheetByName("Your Sheet Name Here"); 
    lastrow = sh.getLastRow();//Get row number of last row 

    //sh.getRange(start row, start column, number of Rows, number of Columns) 
    dataInColumn = sh.getRange(2, 2, lastrow).getValues(); 

    dataAsString = dataInColumn.toString();//Convert 2D array to a string 
    //Logger.log('dataAsString: ' + dataAsString) 

    newString = dataAsString; 

    L = arrayWordsToFind.length;//The number of words to find 

    for (i=0;i<L;i++) {//Loop once for every word to find 
    toFind = new RegExp(arrayWordsToFind[i], "g");//define new Reg Ex with word to find - replace globally 
    newString = newString.replace(toFind,"");//Delete all found words 
    } 

    //Logger.log('newString: ' + newString) 

    newData = newString.split(",");//Convert string to 1D array 
    outerArray = []; 

    L = newData.length; 

    for (i=0;i<L;i++) { 
    //Logger.log('i: ' + i) 
    //Logger.log('newData[i]: ' + newData[i]) 

    tempArray = [];//Reset 
    tempArray.push(newData[i]); 
    outerArray.push(tempArray);//Create a new 2D data array 
    } 

    sh.getRange(2, 2, outerArray.length).setValues(outerArray); 
} 

關鍵詞:找到替換列全球

相關問題