विषयसूची
आज हम नए डायनामिक ऐरे SORTBY फ़ंक्शन के सिंटैक्स और विशिष्ट उपयोगों पर करीब से नज़र डालेंगे। आप सीखेंगे कि एक्सेल में फॉर्मूले के साथ कस्टम सॉर्ट कैसे करें, सूची को बेतरतीब ढंग से सॉर्ट करें, सेल को टेक्स्ट की लंबाई के अनुसार व्यवस्थित करें, और बहुत कुछ। कालानुक्रमिक रूप से, और संख्याएँ सबसे छोटे से सबसे बड़े या उच्चतम से निम्नतम तक। अपनी स्वयं की कस्टम सूचियों के अनुसार छाँटने का एक तरीका भी है। पारंपरिक सॉर्ट कार्यक्षमता के अलावा, एक्सेल 365 सूत्रों के साथ डेटा को सॉर्ट करने का एक नया तरीका पेश करता है - उपयोग करने के लिए बहुत सुविधाजनक और अविश्वसनीय रूप से सरल!
एक्सेल सॉर्टबी फ़ंक्शन
एक्सेल में सॉर्टबी फ़ंक्शन को एक श्रेणी या सरणी को किसी अन्य श्रेणी या सरणी में मानों के आधार पर सॉर्ट करने के लिए डिज़ाइन किया गया है। छँटाई एक या एक से अधिक स्तंभों द्वारा की जा सकती है।
SORTBY Microsoft 365 और Excel 2021 के लिए Excel में उपलब्ध छह नए गतिशील सरणी कार्यों में से एक है। इसका परिणाम एक गतिशील सरणी है जो पड़ोसी कोशिकाओं तक फैल जाती है और स्वचालित रूप से अपडेट हो जाती है जब स्रोत डेटा बदल जाता है। ,…)
सरणी (आवश्यक) - कोशिकाओं की श्रेणी या क्रमबद्ध करने के लिए मूल्यों की सरणी।
By_array1 (आवश्यक) - श्रेणी या सरणी सुलझाने के लिएby.
Sort_order1 (वैकल्पिक) - क्रमबद्ध क्रम:
- 1 या छोड़ा गया (डिफ़ॉल्ट) - आरोही
- -1 - अवरोही
By_array2 / Sort_order2 , … (वैकल्पिक) - छँटाई के लिए उपयोग करने के लिए अतिरिक्त सरणी / आदेश जोड़े।
महत्वपूर्ण नोट! वर्तमान में SORTBY फ़ंक्शन केवल Microsoft 365 सब्सक्रिप्शन और Excel 2021 के साथ उपलब्ध है। Excel 2019, Excel 2016 और पहले के संस्करणों में SORTBY फ़ंक्शन उपलब्ध नहीं है।
SORTBY फ़ंक्शन - याद रखने योग्य 4 चीज़ें
किसी Excel SORTBY फ़ॉर्मूले के ठीक से काम करने के लिए, ध्यान देने योग्य कुछ महत्वपूर्ण बिंदु हैं:
- By_array तर्कों को या तो एक पंक्ति ऊंची या एक कॉलम चौड़ा होना चाहिए।<11
- सरणी और सभी by_array तर्कों के संगत आयाम होने चाहिए। उदाहरण के लिए, जब दो स्तंभों द्वारा क्रमित किया जाता है, तो सरणी , by_array1 और by_array2 में पंक्तियों की संख्या समान होनी चाहिए; अन्यथा एक #VALUE त्रुटि उत्पन्न होगी।
- यदि SORTBY द्वारा लौटाया गया सरणी अंतिम परिणाम है (एक सेल में आउटपुट और अन्य फ़ंक्शन को पास नहीं किया गया है), तो एक्सेल एक गतिशील स्पिल रेंज बनाता है और इसे परिणामों के साथ पॉप्युलेट करता है। इसलिए, सुनिश्चित करें कि आपके पास नीचे और/या उस सेल के दाईं ओर पर्याप्त खाली सेल हैं जहां आप सूत्र दर्ज करते हैं, अन्यथा आपको एक #SPILL त्रुटि मिलेगी।
- SORTBY सूत्रों के परिणाम स्वचालित रूप से अपडेट होते हैं जब भी स्रोत डेटा परिवर्तन। हालाँकि, नई प्रविष्टियाँ जो बाहर जोड़ी जाती हैंजब तक आप सरणी संदर्भ को अपडेट नहीं करते हैं, सूत्र में संदर्भित सरणी परिणामों में शामिल नहीं होती हैं। संदर्भित सरणी को स्वचालित रूप से विस्तारित करने के लिए, स्रोत श्रेणी को एक्सेल तालिका में कनवर्ट करें या एक गतिशील नामित श्रेणी बनाएं। Excel में SORTBY फ़ॉर्मूला:
मान लीजिए, आपके पास Value फ़ील्ड के साथ प्रोजेक्ट्स की एक सूची है। आप अलग शीट पर प्रोजेक्ट को उनके मूल्य के अनुसार क्रमित करना चाहते हैं। जैसा कि अन्य उपयोगकर्ताओं को संख्याओं को देखने की आवश्यकता नहीं है, आप परिणामों में मान कॉलम शामिल नहीं करना चाहेंगे।
कार्य को SORTBY फ़ंक्शन के साथ आसानी से पूरा किया जा सकता है, जिसके लिए आप निम्न तर्क प्रदान करें:
- सरणी A2:A10 है - चूँकि आप नहीं चाहते कि मान परिणामों में प्रदर्शित हो, आप इसे छोड़ देते हैं सरणी से बाहर।
- By_array1 B2 है: B10 - मान द्वारा क्रमबद्ध करें।
- Sort_order1 -1 है - अवरोही, यानी उच्चतम से निम्नतम।
तर्कों को एक साथ रखने पर, हमें यह सूत्र मिलता है:
=SORTBY(A2:B10, B2:B10, -1)
सरलता के लिए, हम उसी पर सूत्र का उपयोग करते हैं पत्रक - इसे D2 में प्रविष्ट करें और Enter कुंजी दबाएँ। परिणाम स्वचालित रूप से आवश्यकतानुसार कई कक्षों में "छलक" जाते हैं (हमारे मामले में D2:D10)। लेकिन तकनीकी रूप से, सूत्र केवल पहली सेल में है, और इसे D2 से हटाने से सभी परिणाम हट जाएंगे।
जब किसी अन्य शीट पर उपयोग किया जाता है, तो सूत्र लेता हैनिम्न आकार:
=SORTBY(Sheet1!A2:A10, Sheet1!B2:B10, -1)
कहां शीट1 मूल डेटा वाली वर्कशीट है।
एक्सेल में सॉर्टबी फ़ंक्शन का उपयोग करना - सूत्र उदाहरण
नीचे आपको SORTBY का उपयोग करने के कुछ और उदाहरण मिलेंगे, जो उम्मीद है कि उपयोगी और अंतर्दृष्टिपूर्ण साबित होंगे।
कई कॉलमों द्वारा क्रमबद्ध करें
ऊपर चर्चा किया गया मूल सूत्र डेटा को एक कॉलम द्वारा सॉर्ट करता है। लेकिन क्या होगा अगर आपको छँटाई का एक और स्तर जोड़ने की आवश्यकता है?
मान लें कि हमारी नमूना तालिका में दो फ़ील्ड हैं, स्थिति (स्तंभ बी) और मूल्य (स्तंभ सी) , हम पहले वर्णानुक्रम स्थिति के अनुसार क्रमबद्ध करना चाहते हैं, और फिर मान अवरोही द्वारा।
दो स्तंभों द्वारा क्रमबद्ध करने के लिए, हम केवल <1 की एक और जोड़ी जोड़ते हैं>by_array / sort_order तर्क:
- सरणी A2:C10 है - इस बार, हम परिणामों में सभी तीन कॉलम शामिल करना चाहते हैं।
- By_array1 B2:B10 है - सबसे पहले, स्थिति द्वारा क्रमित करें।
- Sort_order1 1 है - A से वर्णानुक्रम में क्रमित करें से Z.
- By_array2 C2:C10 है - फिर, मान द्वारा क्रमबद्ध करें।
- Sort_order2 -1 है - सबसे बड़े से छोटे के क्रम में लगाएं।
परिणामस्वरूप, हमें निम्नलिखित सूत्र मिलते हैं:
=SORTBY(A2:B10, B2:B10, 1, C2:C10, -1)
जो हमारे डेटा को ठीक उसी तरह पुनर्व्यवस्थित करता है जैसा हमने उसे निर्देश दिया था: <15
सूत्र के साथ एक्सेल में कस्टम सॉर्ट
डेटा को कस्टम ऑर्डर में सॉर्ट करने के लिए, आप या तो एक्सेल की कस्टम सॉर्ट सुविधा का उपयोग कर सकते हैं या इस तरह से एक सॉर्टबी मैच फॉर्मूला बना सकते हैं:
सॉर्टबी (सरणी,MATCH( range_to_sort , custom_list , 0))हमारे डेटा सेट पर करीब से नज़र डालने पर, आपको प्रोजेक्ट को उनकी स्थिति के अनुसार "तार्किक रूप से" सॉर्ट करना अधिक सुविधाजनक लगेगा , उदा. महत्व के अनुसार, वर्णानुक्रम के बजाय।
इसे पूरा करने के लिए, हम पहले वांछित क्रमबद्ध क्रम में एक कस्टम सूची बनाते हैं ( प्रगति में , पूर्ण , होल्ड पर ) श्रेणी E2:E4 में एक अलग सेल में प्रत्येक मान टाइप करना।
और फिर, ऊपर दिए गए सामान्य सूत्र का उपयोग करके, हम सरणी (A2) के लिए स्रोत श्रेणी की आपूर्ति करते हैं :C10), range_to_sort (B2:B10) के लिए स्थिति कॉलम, और कस्टम सूची जिसे हमने custom_list (E2:E4) के लिए बनाया था।
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0))
परिणामस्वरूप, हमने परियोजनाओं को उनकी स्थिति के अनुसार बिल्कुल आवश्यकतानुसार क्रमबद्ध किया है:
उलटे क्रम में कस्टम सूची के अनुसार क्रमबद्ध करने के लिए, -1 रखें sort_order1 तर्क:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0), -1)
और आपके पास प्रोजेक्ट विपरीत दिशा में क्रमबद्ध होंगे:
क्या आप प्रत्येक स्थिति में अतिरिक्त रूप से रिकॉर्ड सॉर्ट करना चाहते हैं? कोई बात नहीं। बस, फ़ॉर्मूला में एक और सॉर्ट स्तर जोड़ें, मान लीजिए मान (C2:C10), और हमारे मामले में आरोही क्रम में सॉर्ट करने का वांछित क्रम निर्धारित करें:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E5, 0), 1, C2:C10, 1)
एक्सेल के कस्टम सॉर्ट फ़ीचर की तुलना में SORTBY फ़ॉर्मूला का एक बड़ा लाभ यह है कि जब भी मूल डेटा में परिवर्तन होता है तो फ़ॉर्मूला अपने आप अपडेट हो जाता है, जबकि फ़ीचर को प्रत्येक परिवर्तन के साथ साफ़ करने और पुनः सॉर्ट करने की आवश्यकता होती है।
कैसे यह सूत्रकाम करता है:
जैसा कि पहले ही उल्लेख किया गया है, एक्सेल का सॉर्टबी फ़ंक्शन केवल "सॉर्ट बाय" सरणियों को संसाधित कर सकता है जिनके आयाम स्रोत सरणी के साथ संगत हैं। जैसा कि हमारे स्रोत सरणी (C2:C10) में 9 पंक्तियाँ हैं और कस्टम सूची (E2:E4) केवल 3 पंक्तियाँ हैं, हम इसे सीधे by_array तर्क में आपूर्ति नहीं कर सकते हैं। इसके बजाय, हम 9-पंक्ति सरणी बनाने के लिए MATCH फ़ंक्शन का उपयोग करते हैं:
MATCH(B2:B10, E2:E5, 0)
यहां, हम स्थिति कॉलम (B2:B10) का उपयोग लुकअप मानों के रूप में करते हैं और हमारी कस्टम सूची (E2:E5) लुकअप सरणी के रूप में। सटीक मिलान देखने के लिए अंतिम तर्क 0 पर सेट है। नतीजतन, हमें 9 नंबरों की एक सरणी मिलती है, प्रत्येक कस्टम सूची में दिए गए स्थिति मान की सापेक्ष स्थिति का प्रतिनिधित्व करती है:
{1;3;2;1;3;2;2;1;2}
यह सरणी सीधे जाती है SORTBY फ़ंक्शन के by_array तर्क के लिए और इसे सरणी के तत्वों के अनुरूप क्रम में डेटा रखने के लिए बाध्य करता है, यानी पहली प्रविष्टियां 1 द्वारा प्रदर्शित की जाती हैं, फिर प्रविष्टियां 2 द्वारा दर्शाई जाती हैं, और इसी तरह। 3>
एक्सेल में सूत्र के साथ रैंडम सॉर्ट
एक्सेल के पुराने संस्करणों में, आप रैंड फंक्शन के साथ रैंडम सॉर्ट कर सकते हैं, जैसा कि इस ट्यूटोरियल में बताया गया है: एक्सेल में लिस्ट को रैंडमली कैसे सॉर्ट करें।<3
नए एक्सेल में, आप SORTBY के साथ एक अधिक शक्तिशाली RANDARRAY फ़ंक्शन का उपयोग कर सकते हैं:
SORTBY( array , RANDARRAY(ROWS( array )))जहाँ सरणी वह स्रोत डेटा है जिसे आप फेरबदल करना चाहते हैं।
यह सामान्य सूत्र एक सूची के लिए काम करता है जिसमें एकएकल स्तंभ के साथ-साथ बहु-स्तंभ श्रेणी के लिए भी।
उदाहरण के लिए, A2:A10 में किसी सूची को बेतरतीब ढंग से क्रमित करने के लिए, इस सूत्र का उपयोग करें:
=SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))
शफ़ल करने के लिए A2:C10 में डेटा पंक्तियों को एक साथ रखते हुए, इसका उपयोग करें:
=SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10)))
यह सूत्र कैसे काम करता है:
RANDARRAY फ़ंक्शन एक सरणी बनाता है छँटाई के लिए उपयोग की जाने वाली यादृच्छिक संख्याओं की संख्या, और आप इसे SORTBY के by_array तर्क में पास करते हैं। यह निर्दिष्ट करने के लिए कि कितनी यादृच्छिक संख्याएँ उत्पन्न करनी हैं, आप ROWS फ़ंक्शन का उपयोग करके स्रोत श्रेणी में पंक्तियों की संख्या की गणना करते हैं, और उस संख्या को RANDARRAY के पंक्तियों तर्क में "फ़ीड" करते हैं। बस!
ध्यान दें। अपने पूर्ववर्ती की तरह, RANDARRAY एक अस्थिर कार्य है और यह हर बार वर्कशीट की पुनर्गणना होने पर यादृच्छिक संख्याओं की एक नई सरणी उत्पन्न करता है। परिणामस्वरूप, शीट पर प्रत्येक परिवर्तन के साथ आपके डेटा का सहारा लिया जाएगा। ऑटो रिसोर्टिंग को रोकने के लिए, आप पेस्ट स्पेशल > वैल्यूज़ फीचर का इस्तेमाल फॉर्मूला को उनके वैल्यू से रिप्लेस करने के लिए कर सकते हैं।
सेल्स को स्ट्रिंग लेंथ के हिसाब से सॉर्ट करें
कोशिकाओं को उनमें मौजूद टेक्स्ट स्ट्रिंग्स की लंबाई के अनुसार क्रमबद्ध करने के लिए, प्रत्येक सेल में वर्णों की संख्या की गणना करने के लिए LEN फ़ंक्शन का उपयोग करें, और SORTBY के by_array तर्क को परिकलित लंबाई प्रदान करें। छँटाई के पसंदीदा क्रम के आधार पर sort_order तर्क को 1 या -1 पर सेट किया जा सकता है। LEN(array), 1)
द्वारा सॉर्ट करने के लिएटेक्स्ट स्ट्रिंग सबसे बड़ी से सबसे छोटी:
SORTBY(array, LEN(array), -1)और यहां एक सूत्र है जो वास्तविक डेटा पर इस दृष्टिकोण को प्रदर्शित करता है:
=SORTBY(A2:A7, LEN(A2:A7), 1)
जहाँ A2:A7 वे मूल सेल हैं जिन्हें आप टेक्स्ट की लंबाई के अनुसार आरोही क्रम में सॉर्ट करना चाहते हैं:
SORTBY बनाम SORT
नए एक्सेल डायनेमिक एरे फ़ंक्शंस के समूह में, दो हैं छँटाई के लिए डिज़ाइन किया गया। नीचे हम सबसे आवश्यक अंतरों और समानताओं को सूचीबद्ध करते हैं और साथ ही यह भी बताते हैं कि प्रत्येक का उपयोग करने के लिए सबसे अच्छा कब है। सरणी, न ही इसे परिणामों में प्रकट होने की आवश्यकता है। इसलिए, जब आपका कार्य किसी अन्य स्वतंत्र सरणी या कस्टम सूची के आधार पर किसी श्रेणी को क्रमबद्ध करना है, तो SORTBY उपयोग करने के लिए सही कार्य है। यदि आप किसी श्रेणी को उसके अपने मूल्यों के आधार पर क्रमबद्ध करना चाहते हैं, तो SORT अधिक उपयुक्त है।
Excel SORTBY फ़ंक्शन काम नहीं कर रहा है
यदि आपका SORTBY फ़ॉर्मूला कोई त्रुटि लौटाता है, तो इसकी सबसे अधिक संभावना है कि निम्नलिखित कारणों में से एक।
अमान्य by_array तर्क
by_array तर्क एक पंक्ति या एक स्तंभ होना चाहिए और आकार में सरणी<के साथ संगत होना चाहिए। 2> तर्क। उदाहरण के लिए, यदि array में 10 हैपंक्तियाँ, by_array में 10 पंक्तियाँ भी शामिल होनी चाहिए। अन्यथा एक #VALUE! त्रुटि होती है।
अमान्य सॉर्ट_ऑर्डर तर्क
सॉर्ट_ऑर्डर तर्क केवल 1 (आरोही) या -1 (अवरोही) हो सकते हैं। यदि कोई मान सेट नहीं है, तो SORTBY आरोही क्रम में डिफ़ॉल्ट होता है। यदि कोई अन्य मान सेट है, तो एक #VALUE! त्रुटि वापस आ गई है।
परिणामों के लिए पर्याप्त स्थान नहीं है
किसी भी अन्य गतिशील सरणी फ़ंक्शन की तरह, SORTBY परिणामों को स्वचालित रूप से आकार बदलने योग्य और अद्यतन करने योग्य श्रेणी में फैला देता है। यदि सभी मान प्रदर्शित करने के लिए पर्याप्त खाली कक्ष नहीं हैं, तो एक #SPILL! त्रुटि फेंक दी गई है।
स्रोत कार्यपुस्तिका बंद है
यदि कोई सॉर्टबी सूत्र किसी अन्य एक्सेल फ़ाइल का संदर्भ देता है, तो दोनों कार्यपुस्तिकाओं को खुला होना चाहिए। यदि स्रोत कार्यपुस्तिका बंद है, तो #REF! त्रुटि उत्पन्न होती है।
आपका एक्सेल संस्करण गतिशील सरणियों का समर्थन नहीं करता है
जब एक्सेल के पूर्व-गतिशील संस्करण में उपयोग किया जाता है, तो SORT फ़ंक्शन #NAME लौटाता है? त्रुटि।
कस्टम सॉर्ट और अन्य चीजों को करने के लिए एक्सेल में सॉर्टबी फ़ंक्शन का उपयोग कैसे करें। पढ़ने के लिए मैं आपको धन्यवाद देता हूं और उम्मीद करता हूं कि अगले सप्ताह आप हमारे ब्लॉग पर मिलेंगे!
डाउनलोड करने के लिए प्रैक्टिस वर्कबुक
एक्सेल सॉर्टबी फॉर्मूला (.xlsx फ़ाइल)