2017-08-13 50 views
0

這可能是一個愚蠢的問題,因爲我是新的,可能缺少一些簡單的東西。如果聲明比較谷歌表中的兩個單元格不會觸發

我想比較兩個使用getValues()獲取的單元格。 我想知道爲什麼我的if語句沒有觸發。

這是我的代碼

 for (j in phonesData) { 
    var phonerow = phonesData[j]; 
    Logger.log('phonerow: ' + phonerow); 
    for (k in unSubdata) { 
    var unsubrow = unSubdata[k]; 
      Logger.log('unsubrow: ' + unsubrow); 
     if (phonerow===unsubrow) { 
     Logger.log('equals'); 
     phonesSheet.getRange(startRow + Number(j), 1).setValue(""); 
     } 
    } 
    } 

這裏是我的評論的日誌。看來,如果應該觸發!

[17-08-12 21:19:34:054 PDT] phonerow: (626) 234-7711 
[17-08-12 21:19:34:055 PDT] unsubrow: (626) 235-3150 
[17-08-12 21:19:34:055 PDT] unsubrow: (626) 235-3152 
[17-08-12 21:19:34:055 PDT] phonerow: (626) 235-3150 <These are the same! 
[17-08-12 21:19:34:056 PDT] unsubrow: (626) 235-3150 <These are the same! 
[17-08-12 21:19:34:056 PDT] unsubrow: (626) 235-3152 

回答

0

我想你會發現它可以這樣工作。如果你從getValues()得到它,它是一個二維數組。

function theirfunction() 
{ 
    for (j in phonesData) { 
    var phonerow = phonesData[j]; 
    Logger.log('phonerow: ' + phonerow); 
    for (k in unSubdata) { 
    var unsubrow = unSubdata[k]; 
      Logger.log('unsubrow: ' + unsubrow); 
     if (phonerow[0]===unsubrow[0]) { 
     Logger.log('equals'); 
     phonesSheet.getRange(startRow + Number(j), 1).setValue(""); 
     } 
    } 
    } 
} 

我其實用這個版本算出來了。

function myFunction() 
{ 
    var ss=SpreadsheetApp.getActive(); 
    var sh=ss.getActiveSheet(); 
    var r0=sh.getRange(1,1,sh.getLastRow(),1); 
    var r1=sh.getRange(1,2,sh.getLastRow(),1); 
    var vA=r1.getValues(); 
    var vB=r0.getValues(); 
    for(var j=0;j<vA.length;j++) 
    { 
    for(var k=0;k<vB.length;k++) 
    { 
     Logger.log('vB[' + k + '][0]=' + vB[k][0] + ' and ' + 'vA[' + j + '][0]=' + vA[j][0]); 
     if(vA[j][0]==vB[k][0]) 
     { 
     Logger.log('equals'); 
     } 
    } 
    } 
} 
+0

哇這個作品!非常感謝你。太快了。 – mikiekwoods

相關問題