2016-02-15 89 views
0

我們正在嘗試設置自定義的Google腳本,以便與業務辦公室日常協作。目前他們想要一些能夠輸入工作代碼的東西,但是會允許教師輸入一個名字(比如Track,並且可以翻譯成5506)。我在解決問題方面遇到問題,並且不會將代碼拖入並將其輸入到電子表格中。我目前正在使用Google腳本編寫這些自定義方法。見下面看看我目前有什麼。輸入數據基於其他列表Google表格

function changeCodes(input, names, codes) 
{ 
    var outputArray = []; 
    var found = new Boolean("false"); 
    for(var i = 0; !found; i++) 
    { 
    if(input.equals(nameArray[i])) 
    { 
     outputArray.push([codes[i].getValue()]); 
     found = new Boolean("true"); 
    } 
    } 
    return outputArray[2]; 
} 

回答

0

因此,在進一步研究中我發現我認爲我所說的並不完全正確。在正確調用所有內容的時候,它確實可以正常工作這與VLOOKUP的工作原理類似,但是您可以設置它的參考攝入量,它的比較結果以及它比VLOOKUP更全面的輸出。

function changeNames(input, names, proper) 
{ 
    var outputArray = []; 
    var found = false; 
    for(var i = 0; !found; i++) 
    { 
    if(input.equals(names[i])) 
    { 
     outputArray.push(proper[i]); 
     found = true; 
    } 
    } 
    return outputArray; 
} 
0

這是一個使用關聯數組的簡單解決方案。

function test2() { 
    Logger.log(getCode("Job2")); 
} 

function getCode(input) { 
    var code = { 
    "track": 5506, 
    "job1" : 5510, 
    "job2" : 5520 } 
    input = input.toLowerCase(); 
    if (input in code) { 
     return code[input]; 
    } else { 
     return 0; 
    } 
} 
+0

這當然有幫助,它應該有助於讓我在正確的方向。不過,我們希望從Google表格中提取數組,以便他們可以不斷更新數組。 (我知道我做得很難,但這是我的老闆想要的)。感謝您的幫助,這可能會幫助我走上正確的道路。 –