Სარჩევი
მნიშვნელობების სვეტის ან მწკრივის ორგანზომილებიან მასივად გარდაქმნის უსწრაფესი გზაა WRAPCOLS ან WRAPROWS ფუნქციის გამოყენება.
Excel-ის პირველივე დღეებიდან, ეს იყო ძალიან კარგად გამოთვლის და აანალიზებს რიცხვებს. მაგრამ მასივების მანიპულირება ტრადიციულად გამოწვევაა. დინამიური მასივების დანერგვამ მნიშვნელოვნად გაამარტივა მასივის ფორმულების გამოყენება. ახლა კი, Microsoft აქვეყნებს ახალი დინამიური მასივის ფუნქციების ერთობლიობას მასივების მანიპულირებისთვის და ხელახალი ფორმის შესაქმნელად. ეს გაკვეთილი გასწავლით, თუ როგორ გამოიყენოთ ორი ასეთი ფუნქცია, WRAPCOLS და WRAPROWS, რათა სწრაფად გადააქციოთ სვეტი ან მწკრივი 2D მასივად.
Excel WRAPCOLS ფუნქცია
WRAPCOLS ფუნქცია Excel-ში გარდაქმნის მნიშვნელობების მწკრივს ან სვეტს ორგანზომილებიან მასივში, მწკრივში მნიშვნელობების მითითებულ რაოდენობაზე დაყრდნობით.
სინტაქსს აქვს შემდეგი არგუმენტები:
WRAPCOLS(ვექტორი, wrap_count, [pad_with])სად:
- ვექტორი (საჭიროა) - წყაროს ერთგანზომილებიანი მასივი ან დიაპაზონი.
- wrap_count (აუცილებელია) - მნიშვნელობების მაქსიმალური რაოდენობა თითო სვეტზე.
- pad_with (არასავალდებულო) - მნიშვნელობა, რომელიც უნდა შეავსოთ ბოლო სვეტით, თუ არ არის საკმარისი ელემენტები მის შესავსებად. თუ გამოტოვებულია, გამოტოვებული მნიშვნელობები შეივსება #N/A (ნაგულისხმევი).
მაგალითად, B5:B24 დიაპაზონის შესაცვლელად ორგანზომილებიან მასივზე 5 მნიშვნელობით თითო სვეტში, ფორმულა არის:
=WRAPROWS(B5:B24, 5)
თქვენ შეიყვანთარგუმენტი ვექტორი არ არის ერთგანზომილებიანი მასივი.
#NUM! შეცდომა
#NUM შეცდომა ჩნდება, თუ wrap_count მნიშვნელობა არის 0 ან უარყოფითი რიცხვი.
#SPILL! შეცდომა
ყველაზე ხშირად, #SPILL შეცდომა მიუთითებს იმაზე, რომ არ არის საკმარისი ცარიელი უჯრედები შედეგების შესანახად. გაასუფთავეთ მეზობელი უჯრედები და ის გაქრება. თუ შეცდომა შენარჩუნებულია, შეამოწმეთ რას ნიშნავს #SPILL Excel-ში და როგორ გამოვასწოროთ იგი.
აი როგორ გამოვიყენოთ WRAPCOLS და WRAPROWS ფუნქციები Excel-ში ერთგანზომილებიანი დიაპაზონის ორგანზომილებიან მასივად გადასაყვანად. მადლობას გიხდით წაკითხვისთვის და იმედი მაქვს, რომ მომავალ კვირას გნახავთ ჩვენს ბლოგზე!
სავარჯიშო სამუშაო წიგნი ჩამოსატვირთად
WRAPCOLS და WRAPROWS ფუნქციები - მაგალითები (ფაილი .xlsx)
ფორმულა ნებისმიერ უჯრედში და ის ავტომატურად იღვრება იმდენ უჯრედში, რამდენიც საჭიროა. WRAPCOLS გამოსავალში მნიშვნელობები განლაგებულია ვერტიკალურად, ზემოდან ქვემოდან, wrap_countმნიშვნელობის საფუძველზე. დათვლის მიღწევის შემდეგ იწყება ახალი სვეტი.
Excel WRAPROWS ფუნქცია
WRAPROWS ფუნქცია Excel-ში გარდაქმნის მნიშვნელობების მწკრივს ან სვეტს ორგანზომილებიან მასივში, თქვენს მიერ მითითებულ მწკრივზე მნიშვნელობების რაოდენობის მიხედვით.
სინტაქსი ასეთია:
WRAPROWS(ვექტორი, wrap_count, [pad_with])სად:
- ვექტორი (საჭიროა) - წყარო ერთგანზომილებიანი მასივი ან დიაპაზონი.
- wrap_count (აუცილებელია) - მნიშვნელობების მაქსიმალური რაოდენობა მწკრივზე.
- pad_with (სურვილისამებრ) - მნიშვნელობა pad-ში ბოლო მწკრივით, თუ არ არის საკმარისი ელემენტები მის შესავსებად. ნაგულისხმევია #N/A.
მაგალითად, B5:B24 დიაპაზონის გარდაქმნის 2D მასივად, რომელსაც აქვს 5 მნიშვნელობა თითოეულ რიგში, ფორმულა არის:
=WRAPROWS(B5:B24, 5)
თქვენ შეიყვანთ ფორმულას დაღვრის დიაპაზონის ზედა მარცხენა უჯრედში და ის ავტომატურად ავსებს ყველა სხვა უჯრედს. WRAPROWS ფუნქცია აწყობს მნიშვნელობებს ჰორიზონტალურად, მარცხნიდან მარჯვნივ, wrap_count მნიშვნელობის საფუძველზე. დათვლის მიღწევის შემდეგ ის იწყებს ახალ რიგს.
WRAPCOLS და WRAPROWS ხელმისაწვდომობა
ორივე ფუნქცია ხელმისაწვდომია მხოლოდ Excel-ში Microsoft 365-ისთვის (Windows და Mac) და Excel-ში ვებისთვის.
უფრო ადრე.ვერსიებში, შეგიძლიათ გამოიყენოთ ტრადიციული უფრო რთული ფორმულები სვეტიდან მასივში და მწკრივიდან მასივში ტრანსფორმაციების შესასრულებლად. შემდგომ ამ სახელმძღვანელოში, ჩვენ დეტალურად განვიხილავთ ალტერნატიულ გადაწყვეტილებებს.
რჩევა. საპირისპირო ოპერაციის შესასრულებლად, ანუ 2D მასივის შეცვლა ერთ სვეტად ან მწკრივად, გამოიყენეთ TOCOL ან TOROW ფუნქცია, შესაბამისად.
როგორ გადავიტანოთ სვეტი/სტრიქონი დიაპაზონში Excel-ში - მაგალითები
ახლა, როცა გაეცანით საბაზისო გამოყენებას, მოდით უფრო ახლოს მივხედოთ კიდევ რამდენიმე კონკრეტულ შემთხვევას.
დააყენეთ მნიშვნელობების მაქსიმალური რაოდენობა სვეტზე ან მწკრივზე
დამოკიდებულია თქვენი თავდაპირველი მონაცემების სტრუქტურას, შესაძლოა, მიზანშეწონილი აღმოჩნდეთ სვეტებად (WRAPCOLS) ან რიგებად (WRAPROWS) ხელახლა დალაგება. რომელ ფუნქციასაც იყენებთ, ეს არის არგუმენტი wrap_count , რომელიც განსაზღვრავს მნიშვნელობების მაქსიმალურ რაოდენობას თითოეულ სვეტში/სტრიქონში.
მაგალითად, B4:B23 დიაპაზონის 2D მასივად გარდაქმნისთვის, ისე, რომ თითოეულ სვეტს ჰქონდეს მაქსიმუმ 10 მნიშვნელობა, გამოიყენეთ ეს ფორმულა:
=WRAPCOLS(B4:B23, 10)
იმავე დიაპაზონის მწკრივის მიხედვით გადაწყობისთვის, ისე რომ თითოეულ მწკრივს ჰქონდეს მაქსიმუმ 4 მნიშვნელობა, ფორმულა არის :
=WRAPROWS(B4:B23, 4)
ქვემოთ მოყვანილი სურათი გვიჩვენებს, როგორ გამოიყურება ეს:
შედეგი მასივში მნიშვნელობები აკლია
იმ შემთხვევაში, თუ მნიშვნელობები არასაკმარისია შესავსებად მიღებული დიაპაზონის ყველა სვეტი/სტრიქონი, WRAPROWS და WRAPCOLS დააბრუნებს #N/A შეცდომებს 2D მასივის სტრუქტურის შესანარჩუნებლად.
ნაგულისხმევის შესაცვლელადქცევით, შეგიძლიათ მიაწოდოთ მორგებული მნიშვნელობა არასავალდებულო pad_with არგუმენტისთვის.
მაგალითად, B4:B21 დიაპაზონის გარდაქმნის 2D მასივად მაქსიმუმ 5 მნიშვნელობების სიგანით და ბოლოში ჩასვით. მწკრივი ტირეებით, თუ არ არის საკმარისი მონაცემები მის შესავსებად, გამოიყენეთ ეს ფორმულა:
=WRAPROWS(B4:B21, 5, "-")
გამოტოვებული მნიშვნელობების ნულოვანი სიგრძის სტრიქონებით (ბლანკები) ჩანაცვლებისთვის, ფორმულა არის:
=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)
შეახვიეთ და დაალაგეთ მასივი
იმ სიტუაციაში, როდესაც წყაროს დიაპაზონს აქვს მნიშვნელობები შემთხვევითი თანმიმდევრობით, სანამ გსურთ გამომავალი დახარისხება, გააგრძელეთ ასე:
- დაალაგეთ საწყისი მასივი ისე, როგორც გსურთ SORT ფუნქციის გამოყენებით.
- მიიტანეთ დახარისხებული მასივი WRAPCOLS-ს ან WRAPROWS.
მაგალითად, B4:B23 დიაპაზონის შესაფუთად რიგებად, თითოეულში 4 მნიშვნელობით და მიღებული დიაპაზონის დასალაგებლად A-დან Z-მდე, შექმენით ფორმულა ასეთი:
=WRAPROWS(SORT(B4:B23), 4)
იმავე დიაპაზონის სვეტებად გადასატანად, თითოეულში 10 მნიშვნელობით და გამოსავალი ანბანურად დასალაგებლად, ფორმულა არის:
=WRAPCOLS(SORT(B4:B23), 10)
შედეგები ასე გამოიყურება. :
რჩევა. მიღებულ მასივში მნიშვნელობების კლებადობით დასალაგებლად, დააყენეთ SORT ფუნქციის მესამე არგუმენტი ( sort_order ) -1.
WRAPCOLS ალტერნატივა Excel 365-ისთვის. - 2010
Excel-ის ძველ ვერსიებში, სადაც WRAPCOLS ფუნქცია არ არის მხარდაჭერილი, შეგიძლიათ შექმნათ თქვენი საკუთარი ფორმულა ერთგანზომილებიანი მასივიდან მნიშვნელობების სვეტებად გადასატანად. ეს შეიძლება გაკეთდეს 5 სხვადასხვა ფუნქციის ერთად გამოყენებით.
WRAPCOLS ალტერნატივა მწკრივის 2D დიაპაზონში გადასაყვანად:
IFERROR(IF(ROW(A1)> n , "" , INDEX( row_range , , ROW(A1) + (COLUMN(A1)-1)* n )), "")WRAPCOLS ალტერნატივა სვეტის 2D-ად გადაქცევისთვის დიაპაზონი:
IFERROR(IF(ROW(A1)> n ,"", INDEX( სვეტის_დიაპაზონი , 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(მასივი, მწკრივის_რაოდენობა, [სვეტის_რაოდენობა])ვინაიდან საქმე გვაქვს ერთ მწკრივ მასივთან, შეგვიძლია გამოვტოვოთ არგუმენტი row_num , ამიტომ ის ნაგულისხმევად არის 1. ხრიკი არის col_num გამოითვლება ავტომატურად თითოეული უჯრედისთვის, სადაც ფორმულა კოპირებულია. და აი, როგორ ვაკეთებთ ამას:
ROW(A1)+(COLUMN(A1)-1)*3)
ROW ფუნქცია აბრუნებს A1 მითითების მწკრივის ნომერს, რომელიც არის 1.
COLUMN ფუნქცია აბრუნებს სვეტის ნომერსA1 მითითება, რომელიც ასევე არის 1. 1-ის გამოკლება მას ნულში აქცევს. და 0-ის 3-ზე გამრავლება იძლევა 0-ს.
შემდეგ, თქვენ აკრიფეთ 1 დაბრუნებული ROW-ით და 0 დაბრუნებული COLUMN-ით და შედეგად მიიღებთ 1-ს.
ამ გზით, INDEX ფორმულა ზედა ნაწილში -დანიშნულების დიაპაზონის მარცხენა უჯრედი (D8) განიცდის ამ ტრანსფორმაციას:
INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))
იცვლება
INDEX($D$4:$J$4, ,1)
და აბრუნებს მნიშვნელობას 1 სვეტიდან მითითებული მასივის, რომელიც არის "Apples" 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))
და აბრუნებს მნიშვნელობას მითითებული მასივის მე-2 სვეტი, რომელიც არის "Apricots" E4-ში.
IF ფუნქცია ამოწმებს მწკრივის ნომერს და თუ ის მეტია თქვენს მიერ მითითებულ მწკრივებზე (ჩვენს შემთხვევაში 3) აბრუნებს ცარიელ სტრიქონს ( ""), წინააღმდეგ შემთხვევაში, INDEX ფუნქციის შედეგი:
IF(ROW(A1)>3, "", INDEX(…))
საბოლოოდ, IFERROR ფუნქცია აფიქსირებს #REF! შეცდომა, რომელიც ჩნდება, როდესაც ფორმულა კოპირდება რეალურად საჭიროზე მეტ უჯრედში.
მეორე ფორმულა, რომელიც სვეტს 2D დიაპაზონად გარდაქმნის, მუშაობს იმავე ლოგიკით. განსხვავება ისაა, რომ იყენებთ ROW + COLUMN კომბინაციას INDEX-ისთვის row_num არგუმენტის გასარკვევად. col_num პარამეტრი არ არის საჭირო ამ შემთხვევაში, რადგან უბრალოდ არსებობსერთი სვეტი წყაროს მასივში.
WRAPROWS ალტერნატივა Excel 365 - 2010
ერთგანზომილებიანი მასივიდან მნიშვნელობების რიგებად გადასახვევად Excel 2019 და უფრო ადრე, შეგიძლიათ გამოიყენოთ WRAPROWS ფუნქციის შემდეგი ალტერნატივები.
მწკრივის გარდაქმნა 2D დიაპაზონში:
IFERROR(IF(COLUMN(A1)> n , "", INDEX( row_range , , COLUMN(A1)+(ROW(A1)-1)* n )), "")შეცვალეთ სვეტი 2D დიაპაზონში:
IFERROR(IF( COLUMN(A1)> n , "", INDEX( სვეტის_დიაპაზონი , COLUMN(A1)+(ROW(A1)-1)* n )) , "")სადაც n არის მნიშვნელობების მაქსიმალური რაოდენობა მწკრივზე.
ჩვენს ნიმუშ მონაცემთა ნაკრებში, ჩვენ ვიყენებთ შემდეგ ფორმულას ერთი რიგის დიაპაზონის გადასაყვანად (D4 :J4) სამსვეტიან დიაპაზონში. ფორმულა დევს D8 უჯრედში და შემდეგ კოპირდება 3 სვეტსა და 3 მწკრივში.
=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")
1-სვეტიანი დიაპაზონის (B4:B20) 5-სვეტიან დიაპაზონში გადაქცევისთვის, შეიყვანეთ ქვემოთ მოცემული ფორმულა 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, "")
როგორ მუშაობს ეს ფორმულები
არსებითად, ეს ფორმულები მუშაობს ისევე, როგორც წინა მაგალითში. განსხვავება არის ის, თუ როგორ განსაზღვრავთ row_num და col_num კოორდინატებს INDEX ფუნქციისთვის:
INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))
რომ მიიღოთ სვეტის ნომერი ზედა მარცხენა უჯრედი დანიშნულების დიაპაზონში (D8), თქვენ იყენებთ ამასგამოთქმა:
COLUMN(A1)+(ROW(A1)-1)*3)
, რომელიც იცვლება:
1+(1-1)*3
და იძლევა 1.
შედეგად, ქვემოთ მოცემული ფორმულა აბრუნებს მნიშვნელობას მითითებული მასივის პირველი სვეტიდან, რომელიც არის „Apples“:
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))
და აბრუნებს მნიშვნელობას მითითებული მასივის მე-4 სვეტიდან, რომელიც არის "Cherries" G4-ში.
IF ფუნქცია ამოწმებს სვეტის ნომერს და თუ ის მეტია თქვენს მიერ მითითებულ სვეტების რაოდენობაზე, აბრუნებს ცარიელ სტრიქონს (""), წინააღმდეგ შემთხვევაში INDEX ფუნქციის შედეგი:
IF(COLUMN(A1)>3, "", INDEX(…))
როგორც საბოლოო შეხება, IFERROR ხელს უშლის #REF! შეცდომები "დამატებით" უჯრედებში გამოჩენის გამო, თუ ფორმულას დააკოპირებთ რეალურად საჭიროზე მეტ უჯრედში.
WRAPCOLS ან WRAPROWS ფუნქცია არ მუშაობს
თუ "wrap" ფუნქციები მიუწვდომელია. თქვენს Excel-ში თუ შეცდომას გამოიწვევს, სავარაუდოდ, ეს ერთ-ერთი ქვემოთ მოყვანილი მიზეზია.
#NAME? შეცდომა
Excel 365-ში არის #NAME? შეიძლება მოხდეს შეცდომა, რადგან თქვენ შეცდომით დაწერეთ ფუნქციის სახელი. სხვა ვერსიებში, ეს მიუთითებს, რომ ფუნქციები არ არის მხარდაჭერილი. გამოსავალად, შეგიძლიათ გამოიყენოთ WRAPCOLS ალტერნატივა ან WRAPROWS ალტერნატივა.
#VALUE! შეცდომა
#VALUE შეცდომა ჩნდება, თუ