जवाबों:
आप उपयोग कर सकते हैं समारोह है कि के लिए है, लेकिन आप एक ही स्थान पर, और एक अन्य जगह में है कि डेटा की एक प्रतिलिपि अपने आप क्रमबद्ध में अपने डेटा को करना होगा।sort()
उदाहरण के लिए, कहो कि मेरे पास मेरे डेटा के साथ शीट 1 है:
| A | B | C
=====================
1 | This | this | 2
2 | Is | is | 1
3 | Test | test | 3
फिर Sheet2, सेल A1 में, मैं यह फ़ंक्शन डालूँगा:
= सॉर्ट (शीट 1! ए: सी, 3, ट्रू)
यह मेरा डेटा दिखाएगा, लेकिन स्तंभ C (तीसरा स्तंभ) के अनुसार, आरोही।
| A | B | C
=====================
1 | Is | is | 1
2 | This | this | 2
3 | Test | test | 3
डेटा के स्वचालित इन-प्लेस छँटाई को प्राप्त करने के लिए Google Apps लिपियों का उपयोग करना भी संभव है ।
इसे प्राप्त करना और अधिक त्रुटि-प्रवण होना मुश्किल हो सकता है (मैं अभी भी विलियम जैक्सन के समाधान, +1 बीटीडब्ल्यू के लिए जाऊंगा), लेकिन मुझे लगा कि यह दिखाना काफी दिलचस्प था।
मेरे पास एक शीट है जो इस तरह दिखती है:
मैंने इन चरणों का उपयोग करते हुए एक नई स्क्रिप्ट जोड़ी:
दिखाई देने वाली खाली कोड विंडो में, निम्न कोड चिपकाएँ, जो सेल संपादित होने पर स्वचालित रूप से चलाया जाएगा:
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 4;
var tableRange = "B3:E9";
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy } );
}
}
शीट पर वापस जाएं और हर बार तालिका क्रमांक को स्वचालित रूप से देखने के लिए मानों के साथ खेलना शुरू करें
ध्यान दें:
उपरोक्त लिपि में,
4
स्तंभ D के सूचकांक का प्रतिनिधित्व करता है ( Value
स्तंभ - उस पर जो सॉर्ट किया जा रहा है)"B3:E9"
तालिका श्रेणी (हेडर पंक्ति को छोड़कर) का प्रतिनिधित्व करता हैआपकी तालिका मेरा सबसे अलग होने की संभावना है, इसलिए इन मूल्यों को तदनुसार समायोजित किया जाना चाहिए।
null
लिए निर्दिष्ट करते event
हैं, जो अन्यथा Google स्प्रेडशीट के बुनियादी ढांचे द्वारा ठीक से आबाद होती है जब एक वास्तविक घटना शुरू होती है।
range.sort
, इस तरह से लाइन बदलें range.sort( { column : columnToSortBy, ascending: false } );
:। अधिक छँटाई विकल्पों के लिए, डेवलपर्स
यहां एक सामान्य स्क्रिप्ट है जो 1 कॉलम के आधार पर ऑटोस्ोर्ट करेगा, और एक हेडर पंक्ति मानता है।
एक स्क्रिप्ट बनाने के लिए:
खाली कोड विंडो में, निम्न कोड चिपकाएँ, जो सेल संपादित होने पर स्वचालित रूप से चलेगा:
// LinkBack to this script:
// http://webapps.stackexchange.com/questions/7211/how-can-i-make-some-data-on-a-google-spreadsheet-auto-sorting/43036#43036
/**
* Automatically sorts the 1st column (not the header row) Ascending.
*/
function onEdit(event){
var sheet = event.source.getActiveSheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 1;
var tableRange = "A2:T99"; // What to sort.
if(editedCell.getColumn() == columnToSortBy){
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
}
var sheet = SpreadsheetApp.getActiveSpreadsheet();
यहाँ क्या है इसके बजाय।
स्क्रिप्ट के बिना एक और विकल्प है:
=QUERY(A1:C3,"SELECT * ORDER BY C")
सीमा प्रतिबंधित है (A1: C3) क्योंकि जहां ऑर्डर बढ़ते हुए रिक्त प्रविष्टियां पहले दिखाई देंगी।
SELECT * WHERE C <> '' ORDER BY C
रिक्त प्रविष्टियों को अनदेखा करने के लिए उपयोग कर सकते हैं , फिर आप सभी वर्तमान और भविष्य की पंक्तियों को शामिल करने के लिए एक बड़ी पर्याप्त रेंज का उपयोग कर सकते हैं।
मैं ड्रॉपडाउन मेनू कॉलम और फिर तिथि के अनुसार क्रमबद्ध करना चाहता था।
ऐसा करने के लिए, क्रिश्चियन या गीक्सपॉट्स के कोड स्निपेट में से किसी की भी "रेंज.सॉर्ट" लाइन को संशोधित करें:
// Sorts descending by edited column, then ascending by column 1
// Note the use of an array
range.sort([{column: columnToSortBy, ascending: false}, {column: 1, ascending: true}]);
अंतर आपके पूरे विवरण (सरणी) के चारों ओर सीधे कोष्ठकों को जोड़ रहा है और अल्पविराम द्वारा प्रकारों को अलग कर रहा है।
सर्ज के स्टैक ओवरफ्लो उत्तर से खींचे गए कोड की तरह संशोधन यहां दिए गए हैं : शीट पर स्वचालित छंटनी
Google शीट है फिल्टर यह बहुत ही कारण के लिए और अपने दस्तावेज़ में एक नई शीट बनाने के लिए आप की आवश्यकता नहीं है।
;
जैसे= sort(Sheet1!A:C; 3; TRUE)