Google स्प्रैडशीट्स में, आप सभी उपलब्ध पत्रक के माध्यम से कुल गणना को न जानकर कैसे लूप कर सकते हैं?


10

मैं अपनी बेटी की बेसबॉल टीम के लिए आंकड़े रख रहा हूं। मेरे पास प्रत्येक खेल के लिए एक शीट है, प्रत्येक संरचना में एक समान है। मैं एक सारांश शीट बनाना चाहता हूं जो अन्य शीट से संख्याओं को योग करती है। मुझे शीट की एन संख्या को संदर्भित करने के लिए सूत्र कैसे बनाने चाहिए?

उदाहरण:

=G1!C2+G2!C2+G3!C2

जब कोई नया पत्रक जोड़ा जाता है तो मैं वापस नहीं जाना चाहता और प्रत्येक सूत्र को बदलना चाहता हूं।

अपडेट: Google सहायता पर कुछ और खोजना, मुझे नहीं लगता कि यह समर्थित है। मैं जो कुछ कर रहा हूं उसे एक 3 डी रेंज के रूप में संदर्भित किया जाता है और यद्यपि यह एक्सेल में समर्थित है, यह Google स्प्रेडशीट में समर्थित नहीं है।


1
यह प्रश्नोत्तर मैंने दिया, ब्याज के रूप में अच्छी तरह से हो सकता है: webapps.stackexchange.com/a/42960/29140
याकूब जन Tuinstra

जवाबों:


18

यदि आप एक मैक्रो का उपयोग करने में कोई आपत्ति नहीं करते हैं, तो आप निम्न कार्य कर सकते हैं। इस स्क्रिप्ट को अपनी स्प्रैडशीट में जोड़ें (उपकरण -> लिपियों -> स्क्रिप्ट संपादक):

function getTotalSum(cell) {
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
    var sum = 0;
    for (var i = 0; i < sheets.length ; i++ ) {
        var sheet = sheets[i];
        var val = sheet.getRange(cell).getValue();

        if (typeof(val) == 'number') {
            sum += val;   
        }       
    }

    return sum;
}

और सूत्र का उपयोग करें = getTotalSum ("A1") , जहां "A1" वह सेल है जिसे आप सभी शीट्स में जमा करना चाहते हैं (केवल उस फॉर्मूले को छोड़कर जो आप में डाल रहे हैं)।

मैंने एक परीक्षण स्क्रिप्ट बनाई, जिस पर आप एक नज़र डाल सकते हैं: https://spreadsheets.google.com/ccc?key=0Ao3E95ou1MgbdG45blRvWlVaYkxFY01PQUhvZZZQcEE&hl=hi&authkey=CPyZqxk


यह वही है जो मैं देख रहा हूं, लेकिन हर बार जब स्क्रिप्ट चलती है, तो यह उस मूल्य पर जोड़ता है जो वर्तमान में सेल में है, इसलिए मुझे सेल में हर बार शीट के योग से अधिक होता है। मैं इसे वर्तमान मूल्य को हटाने / बदलने के लिए कैसे कर सकता हूं और अन्य शीट्स का योग जोड़ सकता हूं?
कीथ

क्या आप सारांश करने के लिए समान सेल स्थिति का उपयोग कर रहे हैं? यदि ऐसा है तो यह संभवतः कुल में जोड़ रहा है। और फिर जब आप इसे फिर से चलाते हैं, तो यह नई राशि को पुराने योग में जोड़ता है, आदि आदि। यदि आप इसे किसी अन्य सेल में डालते हैं तो यह काम करना चाहिए। यदि आप पसंद नहीं करते हैं, तो आपको वर्तमान शीट की आईडी प्राप्त करने के लिए स्क्रिप्ट को बदलना होगा, और उसके बाद यदि यह कथन शामिल नहीं है, तो उसे चेक में जोड़ें। पहले लूप के लिए ऊपर जोड़ें: var thissheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();फिर दूसरा स्टेटमेंट को इस तरह बदलें:if (typeof(val) == 'number') && (i != thissheet)
सामानभार 11

उफ़, यदि कथन पर गलत वाक्य रचना है। इस का उपयोग करें:if (typeof(val) == 'number' && i != thissheet)
1911 में सामान 11

1
यदि अन्य कक्षों के मान बदलते हैं, तो लौटाया गया मान अपडेट नहीं किया जा रहा है क्योंकि एक कस्टम फ़ंक्शन केवल तभी चलता है जब उसके पैरामीटर बदलते हैं।
Ruben

0

यदि कोई भी इस सवाल पर ठोकर खाता है और उसी समस्या है, तो Google शीट्स के लिए एक 3D संदर्भ ऐड-ऑन है जो आपको कई शीटों के माध्यम से परिभाषित करता है और देशी कार्यों जैसे = SUM () के साथ उपयोग किया जा सकता है

लेखक पृष्ठ पर कुछ स्पष्टीकरण

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.