2016-04-01 14 views
11

मैं Google Apps स्क्रिप्ट में नया हूं। मैं कॉलम इंडेक्स नहीं, इसके कॉलम नाम से किसी विशिष्ट सेल का मान प्राप्त करना चाहता हूं। यहाँ मैं क्या है:स्तंभ नाम से कॉलम मान प्राप्त करें कॉलम इंडेक्स

var rows = sheet.getDataRange(); 
var values = rows.getValues(); 
var row =values[1]; 
var rowStaffName = row[0]; 
इसके बजाय row[0] का उपयोग करने का

, मैं कॉलम नाम का उपयोग करना चाहते हैं। क्या ऐसा करने का कोई आसान तरीका है?

उत्तर

13

निम्न कार्य किसी दिए गए पंक्ति में दिए गए नाम के साथ कॉलम में मान को दोबारा रखता है।

function getByName(colName, row) { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var data = sheet.getDataRange().getValues(); 
    var col = data[0].indexOf(colName); 
    if (col != -1) { 
    return data[row-1][col]; 
    } 
} 

विशेष रूप से, var col = data[0].indexOf(colName); ऊपर दिए गए नाम के चादर की शीर्ष पंक्ति में लग रहा है। यदि यह पाया जाता है, तो उस कॉलम की दी गई पंक्ति में मान वापस कर दिया जाता है (row-1 का उपयोग जावास्क्रिप्ट इंडेक्स 0-आधारित होने के लिए किया जाता है)।

तरह

function test() { 
    Logger.log(getByName('Price', 4)); // Or whatever name or row you want 
} 
+0

इस खूबसूरती से काम किया जांचने के लिए कि यह काम करता है, की कोशिश कुछ! मदद के लिए बहुत बहुत धन्यवाद। –

संबंधित मुद्दे