Excel में स्तंभ / पंक्ति को सरणी में बदलें: WRAPCOLS & रैपो कार्य करता है

  • इसे साझा करें
Michael Brown

मूल्यों के कॉलम या पंक्ति को द्वि-आयामी सरणी में बदलने का सबसे तेज़ तरीका WRAPCOLS या WRAPROWS फ़ंक्शन का उपयोग कर रहा है।

एक्सेल के शुरुआती दिनों से, यह किया गया है संख्याओं की गणना और विश्लेषण करने में बहुत अच्छा। लेकिन सरणियों में हेरफेर करना परंपरागत रूप से एक चुनौती रही है। गतिशील सरणियों के परिचय ने सरणी सूत्रों के उपयोग को बहुत आसान बना दिया है। और अब, Microsoft ऐरे में हेरफेर करने और फिर से आकार देने के लिए नए डायनेमिक ऐरे फ़ंक्शंस का एक सेट जारी कर रहा है। यह ट्यूटोरियल आपको सिखाएगा कि कैसे दो ऐसे फंक्शन्स, WRAPCOLS और WRAPROWS का उपयोग करके किसी कॉलम या रो को तुरंत 2D ऐरे में बदला जा सकता है।

Excel WRAPCOLS फ़ंक्शन

Excel में WRAPCOLS फ़ंक्शन मानों की एक पंक्ति या स्तंभ को प्रति पंक्ति मानों की निर्दिष्ट संख्या के आधार पर द्वि-आयामी सरणी में बदल देता है।

सिंटैक्स में निम्नलिखित तर्क हैं:

WRAPCOLS(vector, wrap_count, [pad_with])

कहां:

  • वेक्टर (आवश्यक) - स्रोत एक-आयामी सरणी या श्रेणी।
  • wrap_count (आवश्यक) - प्रति स्तंभ मानों की अधिकतम संख्या।
  • pad_with (वैकल्पिक) - यदि इसे भरने के लिए अपर्याप्त आइटम हैं तो अंतिम कॉलम के साथ पैड करने के लिए मान। यदि छोड़ा जाता है, तो लापता मानों को #N/A (डिफ़ॉल्ट) के साथ पैडेड कर दिया जाएगा। सूत्र है:

=WRAPROWS(B5:B24, 5)

आप दर्ज करें वेक्टर तर्क एक आयामी सरणी नहीं है।

#NUM! त्रुटि

यदि wrap_count मान 0 या ऋणात्मक संख्या है तो #NUM त्रुटि होती है।

#SPILL! त्रुटि

अक्सर, एक #SPILL त्रुटि इंगित करती है कि परिणामों को फैलाने के लिए पर्याप्त रिक्त कक्ष नहीं हैं। आस-पास के कक्षों को साफ़ करें, और वह चला जाएगा। यदि त्रुटि बनी रहती है, तो देखें कि एक्सेल में #SPILL का क्या अर्थ है और इसे कैसे ठीक किया जाए।

एक्सेल में एक-आयामी श्रेणी को दो-आयामी सरणी में बदलने के लिए WRAPCOLS और WRAPROWS फ़ंक्शंस का उपयोग कैसे करें। पढ़ने के लिए मैं आपको धन्यवाद देता हूं और उम्मीद करता हूं कि अगले हफ्ते हमारे ब्लॉग पर आपसे मुलाकात होगी!

डाउनलोड के लिए प्रैक्टिस वर्कबुक

WRAPCOLS और WRAPROWS फ़ंक्शन - उदाहरण (.xlsx फ़ाइल)

किसी एक सेल में सूत्र और यह स्वचालित रूप से आवश्यकतानुसार कई कोशिकाओं में फैल जाता है। WRAPCOLS आउटपुट में, मानों को wrap_countमान के आधार पर, ऊपर से नीचे की ओर लंबवत रूप से व्यवस्थित किया जाता है। गिनती पूरी होने के बाद, एक नया कॉलम शुरू किया जाता है।

एक्सेल WRAPROWS फ़ंक्शन

एक्सेल में WRAPROWS फ़ंक्शन आपके द्वारा निर्दिष्ट प्रति पंक्ति मानों की संख्या के आधार पर मानों की एक पंक्ति या स्तंभ को द्वि-आयामी सरणी में परिवर्तित करता है।

सिंटैक्स इस प्रकार है:

WRAPROWS(वेक्टर, रैप_काउंट, [pad_with])

जहां:

  • वेक्टर (आवश्यक) - स्रोत एक आयामी सरणी या श्रेणी।
  • wrap_count (आवश्यक) - प्रति पंक्ति मानों की अधिकतम संख्या।
  • pad_with (वैकल्पिक) - पैड का मान अंतिम पंक्ति के साथ अगर इसे भरने के लिए अपर्याप्त आइटम हैं। डिफ़ॉल्ट #N/A है।

उदाहरण के लिए, श्रेणी B5:B24 को प्रत्येक पंक्ति में 5 मानों वाली 2D सरणी में बदलने के लिए, सूत्र है:

=WRAPROWS(B5:B24, 5)

आप स्पिल रेंज के ऊपरी-बाएँ सेल में सूत्र दर्ज करते हैं, और यह स्वचालित रूप से अन्य सभी सेल को पॉप्युलेट करता है। WRAPROWS फ़ंक्शन wrap_count मान के आधार पर मानों को क्षैतिज रूप से बाएँ से दाएँ व्यवस्थित करता है। काउंट तक पहुँचने के बाद, यह एक नई पंक्ति शुरू करता है।

WRAPCOLS और WRAPROWS उपलब्धता

दोनों कार्य केवल Microsoft 365 (Windows और Mac) के लिए Excel में और वेब के लिए Excel में उपलब्ध हैं।

पहले मेंसंस्करण, आप स्तंभ-से-सरणी और पंक्ति-से-सरणी रूपांतरण करने के लिए पारंपरिक अधिक जटिल सूत्रों का उपयोग कर सकते हैं। आगे इस ट्यूटोरियल में, हम वैकल्पिक समाधानों पर विस्तार से चर्चा करेंगे।

युक्ति। रिवर्स ऑपरेशन करने के लिए, यानी एक 2D सरणी को एक कॉलम या पंक्ति में बदलें, क्रमशः TOCOL या TOROW फ़ंक्शन का उपयोग करें।

Excel में कॉलम / पंक्ति को श्रेणी में कैसे बदलें - उदाहरण

अब जब आप मूल उपयोग को समझ गए हैं, तो आइए कुछ और विशिष्ट मामलों पर करीब से नज़र डालें।

प्रति कॉलम या पंक्ति में मानों की अधिकतम संख्या सेट करें

इस पर निर्भर आपके मूल डेटा की संरचना, आप इसे कॉलम (WRAPCOLS) या पंक्तियों (WRAPROWS) में पुनर्व्यवस्थित करने के लिए उपयुक्त पा सकते हैं। आप जो भी फ़ंक्शन उपयोग करते हैं, वह wrap_count तर्क है जो प्रत्येक कॉलम/पंक्ति में मानों की अधिकतम संख्या निर्धारित करता है।

उदाहरण के लिए, श्रेणी B4:B23 को 2D सरणी में बदलने के लिए, ताकि प्रत्येक कॉलम में अधिकतम 10 मान हों, इस सूत्र का उपयोग करें:

=WRAPCOLS(B4:B23, 10)

उसी श्रेणी को पंक्ति द्वारा पुनर्व्यवस्थित करने के लिए, ताकि प्रत्येक पंक्ति में अधिकतम 4 मान हों, सूत्र है :

=WRAPROWS(B4:B23, 4)

नीचे दी गई छवि दिखाती है कि यह कैसा दिखता है:

परिणामी सरणी में पैड लापता मान

भरने के लिए अपर्याप्त मान होने की स्थिति में परिणामी श्रेणी के सभी कॉलम/पंक्तियां, WRAPROWS और WRAPCOLS 2D सरणी की संरचना को बनाए रखने के लिए #N/A त्रुटियां लौटाएंगे।

डिफ़ॉल्ट बदलने के लिएव्यवहार, आप वैकल्पिक pad_with तर्क के लिए एक कस्टम मान प्रदान कर सकते हैं। डैश के साथ पंक्ति यदि इसे भरने के लिए पर्याप्त डेटा नहीं है, तो इस सूत्र का उपयोग करें:

=WRAPROWS(B4:B21, 5, "-")

लापता मानों को शून्य-लंबाई वाले स्ट्रिंग (रिक्त) से बदलने के लिए, सूत्र है:<3

=WRAPROWS(B4:B21, 5, "")

कृपया परिणामों की तुलना डिफ़ॉल्ट व्यवहार (D5 में सूत्र) से करें जहां pad_with छोड़ा गया है:

2D श्रेणी में कई पंक्तियों को मर्ज करें

कुछ अलग पंक्तियों को एक एकल 2D सरणी में संयोजित करने के लिए, आप पहले HSTACK फ़ंक्शन का उपयोग करके पंक्तियों को क्षैतिज रूप से स्टैक करते हैं, और फिर WRAPROWS या WRAPCOLS का उपयोग करके मानों को रैप करते हैं।

उदाहरण के लिए, मानों को मर्ज करने के लिए 3 पंक्तियाँ (B5:J5, B7:G7 और B9:F9) और स्तंभों में लपेटें, प्रत्येक में 10 मान होते हैं, सूत्र है:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

एकाधिक पंक्तियों के मानों को एक में संयोजित करने के लिए 2D श्रेणी जहां प्रत्येक पंक्ति में 5 मान होते हैं, सूत्र इस रूप में होता है:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

C कई स्तंभों को 2D सरणी में संयोजित करें

कई स्तंभों को 2D श्रेणी में मर्ज करने के लिए, पहले आप उन्हें VSTACK फ़ंक्शन का उपयोग करके लंबवत रूप से ढेर करें, और फिर मानों को पंक्तियों (WRAPROWS) या स्तंभों (WRAPCOLS) में लपेटें।

उदाहरण के लिए, 3 कॉलम (B5:J5, B7:G7 और B9:F9) के मानों को एक 2D श्रेणी में संयोजित करने के लिए, जहां प्रत्येक कॉलम में 10 मान हों, सूत्र है:

=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)

गठबंधन करने के लिएसमान कॉलम को 2D श्रेणी में जहाँ प्रत्येक पंक्ति में 5 मान हैं, इस सूत्र का उपयोग करें:

=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)

रैप करें और सरणी को सॉर्ट करें

उस स्थिति में जब स्रोत श्रेणी में मान हों यादृच्छिक क्रम जब आप चाहते हैं कि आउटपुट को क्रमबद्ध किया जाए, तो इस तरह आगे बढ़ें:

  1. प्रारंभिक सरणी को सॉर्ट फ़ंक्शन का उपयोग करके जिस तरह से आप चाहते हैं उसे क्रमबद्ध करें।
  2. रैपकोल्स को क्रमबद्ध सरणी की आपूर्ति करें या WRAPROWS.

उदाहरण के लिए, श्रेणी B4:B23 को पंक्तियों में लपेटने के लिए, प्रत्येक में 4 मान, और परिणामी श्रेणी को A से Z तक सॉर्ट करने के लिए, इस तरह एक सूत्र बनाएँ:

=WRAPROWS(SORT(B4:B23), 4)

समान श्रेणी को कॉलम में लपेटने के लिए, प्रत्येक में 10 मान, और आउटपुट को वर्णानुक्रम में क्रमबद्ध करने के लिए, सूत्र है:

=WRAPCOLS(SORT(B4:B23), 10)

परिणाम इस प्रकार दिखते हैं :

युक्ति। परिणामी सरणी में मानों को अवरोही क्रम में व्यवस्थित करने के लिए, SORT फ़ंक्शन के तीसरे तर्क ( sort_order ) को -1 पर सेट करें।

Excel 365 के लिए WRAPCOLS विकल्प - 2010

Excel के पुराने संस्करणों में जहां WRAPCOLS फ़ंक्शन समर्थित नहीं है, आप मानों को एक-आयामी सरणी से स्तंभों में लपेटने के लिए अपना स्वयं का सूत्र बना सकते हैं। यह एक साथ 5 अलग-अलग कार्यों का उपयोग करके किया जा सकता है।

एक पंक्ति को 2D श्रेणी में बदलने के लिए WRAPCOLS विकल्प:

IFERROR (IF(ROW(A1)> n , "" , INDEX( row_range , , ROW(A1) + (COLUMN(A1)-1)* n )), "")

कॉलम को 2D में बदलने के लिए WRAPCOLS विकल्प श्रेणी:

IFERROR(IF(ROW(A1)> n ,"", INDEX( column_range , ROW(A1) + (COLUMN(A1)-1)* n )), "")

जहां n प्रति कॉलम मानों की अधिकतम संख्या है।

नीचे दी गई छवि में, हम एक-पंक्ति श्रेणी (D4:J4) को तीन-पंक्ति सरणी में बदलने के लिए निम्न सूत्र का उपयोग करते हैं।

=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")

और यह सूत्र एक-स्तंभ श्रेणी (B4:B20) को पांच-पंक्ति सरणी में बदलता है:

=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")

उपरोक्त समाधान समान WRAPCOLS सूत्रों का अनुकरण करते हैं और समान परिणाम देते हैं:

=WRAPCOLS(D4:J4, 3, "")

और

=WRAPCOLS(B4:B20, 5, "")

कृपया ध्यान रखें कि गतिशील सरणी WRAPCOLS फ़ंक्शन के विपरीत, पारंपरिक सूत्र निम्नलिखित का पालन करते हैं एक-सूत्र-एक-कोशिका दृष्टिकोण। इसलिए, हमारा पहला सूत्र D8 में दर्ज किया गया है और 3 पंक्तियों को नीचे और 3 स्तंभों को दाईं ओर कॉपी किया गया है। दूसरा सूत्र D14 में दर्ज किया गया है और 5 पंक्तियों को नीचे और 4 स्तंभों को दाईं ओर कॉपी किया गया है।

ये सूत्र कैसे काम करते हैं

दोनों सूत्रों के केंद्र में, हम INDEX फ़ंक्शन का उपयोग करते हैं जो एक पंक्ति और स्तंभ संख्या के आधार पर आपूर्ति की गई सरणी से मान लौटाता है:

INDEX(array, row_num, [column_num])

जैसा कि हम एक-पंक्ति सरणी के साथ काम कर रहे हैं, हम row_num तर्क को छोड़ सकते हैं, इसलिए यह 1 के लिए डिफ़ॉल्ट है। चाल है col_num स्वचालित रूप से प्रत्येक सेल के लिए गणना की जाती है जहां सूत्र की प्रतिलिपि बनाई जाती है। और यहां बताया गया है कि हम यह कैसे करते हैं:

ROW(A1)+(COLUMN(A1)-1)*3)

ROW फ़ंक्शन A1 संदर्भ की पंक्ति संख्या लौटाता है, जो कि 1 है।

COLUMN फ़ंक्शन की कॉलम संख्या देता हैA1 संदर्भ, जो 1 भी है। 1 को घटाना इसे शून्य में बदल देता है। और 0 को 3 से गुणा करने पर 0 मिलता है।

फिर, आप ROW द्वारा लौटाए गए 1 और COLUMN द्वारा लौटाए गए 0 को जोड़ते हैं और परिणाम के रूप में 1 प्राप्त करते हैं।

इस तरह, ऊपरी भाग में INDEX सूत्र डेस्टिनेशन रेंज (D8) का -लेफ्ट सेल इस परिवर्तन से गुजरता है:

INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))

INDEX($D$4:$J$4, ,1)

में बदल जाता है और पहले कॉलम से मान लौटाता है निर्दिष्ट सरणी का, जो D4 में "सेब" है।

जब सूत्र को सेल D9 में कॉपी किया जाता है, तो संबंधित सेल संदर्भ पंक्तियों और स्तंभों की सापेक्ष स्थिति के आधार पर बदल जाते हैं, जबकि निरपेक्ष श्रेणी संदर्भ अपरिवर्तित रहता है:

INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))

में बदल जाता है:

INDEX($D$4:$J$4,, 2+(1-1)*3))

बन जाता है:

INDEX($D$4:$J$4,, 2))

और से मान लौटाता है निर्दिष्ट सरणी का दूसरा कॉलम, जो E4 में "खुबानी" है।

IF फ़ंक्शन पंक्ति संख्या की जांच करता है और यदि यह आपके द्वारा निर्दिष्ट पंक्तियों की संख्या से अधिक है (हमारे मामले में 3) एक खाली स्ट्रिंग लौटाता है ( ""), अन्यथा INDEX फ़ंक्शन का परिणाम:

IF(ROW(A1)>3, "", INDEX(…))

अंत में, IFERROR फ़ंक्शन #REF! त्रुटि तब होती है जब सूत्र को वास्तव में आवश्यकता से अधिक कक्षों में कॉपी किया जाता है।

दूसरा सूत्र जो किसी स्तंभ को 2D श्रेणी में परिवर्तित करता है, उसी तर्क के साथ कार्य करता है। अंतर यह है कि आप INDEX के लिए row_num तर्क का पता लगाने के लिए ROW + COLUMN संयोजन का उपयोग करते हैं। इस मामले में col_num पैरामीटर की आवश्यकता नहीं है क्योंकि बस हैस्रोत सरणी में एक कॉलम।

Excel 365 - 2010 के लिए WRAPROWS विकल्प

Excel 2019 और इससे पहले के मानों को एक-आयामी सरणी से पंक्तियों में लपेटने के लिए, आप उपयोग कर सकते हैं WRAPROWS फ़ंक्शन के निम्नलिखित विकल्प।

एक पंक्ति को 2D श्रेणी में बदलें:

IFERROR (IF (COLUMN (A1) & gt; n , "", INDEX ( row_range , , COLUMN(A1)+(ROW(A1)-1)* n )), "")

किसी कॉलम को 2D श्रेणी में बदलें:

IFERROR(IF( COLUMN(A1)> n , "", INDEX( column_range , COLUMN(A1)+(ROW(A1)-1)* n )) , "")

जहां n प्रति पंक्ति मानों की अधिकतम संख्या है।

हमारे नमूना डेटा सेट में, हम एक-पंक्ति श्रेणी (D4) को परिवर्तित करने के लिए निम्न सूत्र का उपयोग करते हैं :J4) तीन-स्तंभ श्रेणी में। सूत्र सेल D8 में आता है, और फिर 3 कॉलम और 3 पंक्तियों में कॉपी किया जाता है। D14 में निम्न सूत्र दर्ज करें और इसे 5 कॉलम और 4 पंक्तियों में खींचें।

=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")

Excel 365 में, समान WRAPCOLS सूत्रों के साथ समान परिणाम प्राप्त किए जा सकते हैं:

=WRAPROWS(D4:J4, 3, "")

और

=WRAPROWS(B4:B20, 5, "")

ये सूत्र कैसे काम करते हैं

अनिवार्य रूप से, ये सूत्र पिछले उदाहरण की तरह काम करते हैं। अंतर यह है कि आप INDEX फ़ंक्शन के लिए row_num और col_num निर्देशांक कैसे निर्धारित करते हैं:

INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))

ऊपरी के लिए कॉलम संख्या प्राप्त करने के लिए डेस्टिनेशन रेंज (D8) में लेफ्ट सेल, आप इसका इस्तेमाल करते हैंअभिव्यक्ति:

COLUMN(A1)+(ROW(A1)-1)*3)

जो इसमें बदल जाती है:

1+(1-1)*3

और 1 देता है।

नतीजतन, नीचे दिया गया सूत्र निर्दिष्ट सरणी के पहले कॉलम से मान लौटाता है, जो "सेब" है:

INDEX($D$4:$J$4,, 1)

अब तक, परिणाम पिछले जैसा ही है उदाहरण। लेकिन देखते हैं कि अन्य सेल में क्या होता है...

सेल D9 में, संबंधित सेल संदर्भ निम्नानुसार बदलते हैं:

INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))

तो, सूत्र इसमें बदल जाता है:

INDEX($D$4:$J$4,, 1+(2-1)*3))

बन जाता है:

INDEX($D$4:$J$4,, 4))

और निर्दिष्ट सरणी के चौथे कॉलम से मान लौटाता है, जो G4 में "चेरी" है।

IF फ़ंक्शन कॉलम संख्या की जांच करता है और यदि यह आपके द्वारा निर्दिष्ट कॉलम की संख्या से अधिक है, तो एक खाली स्ट्रिंग ("") लौटाता है, अन्यथा INDEX फ़ंक्शन का परिणाम:

IF(COLUMN(A1)>3, "", INDEX(…))

अंतिम स्पर्श के रूप में, IFERROR #REF को रोकता है! यदि आप वास्तव में आवश्यकता से अधिक कक्षों में सूत्र की प्रतिलिपि बनाते हैं तो "अतिरिक्त" कक्षों में दिखाई देने वाली त्रुटियाँ।

WRAPCOLS या WRAPROWS कार्य नहीं कर रहा है

यदि "रैप" प्रकार्य उपलब्ध नहीं हैं आपके एक्सेल में या परिणाम में कोई त्रुटि है, यह नीचे दिए गए कारणों में से एक होने की सबसे अधिक संभावना है।

#NAME? त्रुटि

Excel 365 में, एक #NAME? त्रुटि हो सकती है क्योंकि आपने फ़ंक्शन के नाम की गलत वर्तनी की है। अन्य संस्करणों में, यह इंगित करता है कि फ़ंक्शन समर्थित नहीं हैं। समाधान के रूप में, आप WRAPCOLS विकल्प या WRAPROWS विकल्प का उपयोग कर सकते हैं।

#VALUE! त्रुटि

एक #VALUE त्रुटि होती है यदि

माइकल ब्राउन सॉफ्टवेयर टूल्स का उपयोग करके जटिल प्रक्रियाओं को सरल बनाने के जुनून के साथ एक समर्पित प्रौद्योगिकी उत्साही है। टेक उद्योग में एक दशक से अधिक के अनुभव के साथ, उन्होंने माइक्रोसॉफ्ट एक्सेल और आउटलुक के साथ-साथ गूगल शीट्स और डॉक्स में अपने कौशल को निखारा है। माइकल का ब्लॉग अपने ज्ञान और विशेषज्ञता को दूसरों के साथ साझा करने के लिए समर्पित है, उत्पादकता और दक्षता में सुधार के लिए आसान-से-अनुसरण युक्तियाँ और ट्यूटोरियल प्रदान करता है। चाहे आप एक अनुभवी पेशेवर हों या नौसिखिए, माइकल का ब्लॉग इन आवश्यक सॉफ़्टवेयर उपकरणों से अधिकाधिक लाभ उठाने के लिए मूल्यवान अंतर्दृष्टि और व्यावहारिक सलाह प्रदान करता है।