Բովանդակություն
Արժեքների սյունակը կամ տողը երկչափ զանգվածի վերածելու ամենաարագ ճանապարհը WRAPCOLS կամ WRAPROWS ֆունկցիայի օգտագործումն է:
Excel-ի առաջին օրերից ի վեր, շատ լավ է թվերը հաշվում և վերլուծում: Սակայն զանգվածների մանիպուլյացիան ավանդաբար մարտահրավեր էր: Դինամիկ զանգվածների ներդրումը շատ ավելի հեշտացրեց զանգվածների բանաձևերի օգտագործումը: Եվ հիմա, Microsoft-ը թողարկում է նոր դինամիկ զանգվածի գործառույթների մի շարք՝ զանգվածները մանիպուլացնելու և ձևավորելու համար: Այս ձեռնարկը կսովորեցնի ձեզ, թե ինչպես օգտագործել երկու նման գործառույթներ՝ WRAPCOLS և WRAPROWS՝ կարճ ժամանակում սյունակը կամ տողը 2D զանգվածի վերածելու համար:
Excel WRAPCOLS ֆունկցիան
Excel-ում WRAPCOLS ֆունկցիան փոխակերպում է արժեքների տող կամ սյունակ երկչափ զանգվածի` յուրաքանչյուր տողում նշված արժեքների քանակի հիման վրա:
Շարահյուսությունն ունի հետևյալ արգումենտները.
WRAPCOLS(vector, wrap_count, [pad_with])Որտեղ՝
- վեկտոր (պահանջվում է) - աղբյուրի միաչափ զանգված կամ տիրույթ:
- wrap_count (պահանջվում է) - արժեքների առավելագույն քանակը մեկ սյունակում:
- pad_with (ըստ ցանկության) - արժեքը, որը պետք է լրացվի վերջին սյունակով, եթե այն լրացնելու համար բավարար տարրեր չկան: Եթե բաց թողնվի, բաց թողնված արժեքները կլրացվեն #N/A-ով (կանխադրված):
Օրինակ՝ B5:B24 միջակայքը փոխելու համար երկչափ զանգվածի 5 արժեք յուրաքանչյուր սյունակում, բանաձևը հետևյալն է.
=WRAPROWS(B5:B24, 5)
Դուք մուտքագրում եք վեկտոր արգումենտը միաչափ զանգված չէ:
#NUM! error
#NUM սխալ է առաջանում, եթե wrap_count արժեքը 0 է կամ բացասական թիվ:
#SPILL! error
Ամենից հաճախ, #SPILL սխալը ցույց է տալիս, որ բավարար դատարկ բջիջներ չկան արդյունքները թափելու համար: Մաքրել հարևան բջիջները, և այն կվերանա: Եթե սխալը շարունակվում է, ստուգեք, թե ինչ է նշանակում #SPILL Excel-ում և ինչպես շտկել այն:
Ահա թե ինչպես կարելի է օգտագործել WRAPCOLS և WRAPROWS գործառույթները Excel-ում միաչափ ընդգրկույթը երկչափ զանգվածի վերածելու համար: Ես շնորհակալություն եմ հայտնում կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:
Պրակտիկ աշխատանքային գրքույկ ներբեռնման համար
WRAPCOLS և WRAPROWS գործառույթները - օրինակներ (.xlsx ֆայլ)
>բանաձևը ցանկացած մեկ բջիջում, և այն ավտոմատ կերպով թափվում է այնքան բջիջներ, որքան անհրաժեշտ է: WRAPCOLS-ի ելքում արժեքները դասավորված են ուղղահայաց՝ վերևից ներքև՝ հիմնվելով wrap_countարժեքի վրա: Հաշվարկը հասնելուց հետո սկսվում է նոր սյունակ:
Excel WRAPROWS ֆունկցիան
Excel-ում WRAPROWS ֆունկցիան փոխակերպում է արժեքների տող կամ սյունակ երկչափ զանգվածի` հիմնվելով ձեր նշած յուրաքանչյուր տողի արժեքների քանակի վրա:
Շարահյուսությունը հետևյալն է.
WRAPROWS(vector, wrap_count, [pad_with])Որտեղ:
- վեկտոր (պահանջվում է) - աղբյուրը միաչափ զանգված կամ տիրույթ:
- wrap_count (պահանջվում է) - արժեքների առավելագույն քանակը մեկ տողում:
- pad_with (ըստ ցանկության) - արժեքը pad-ի համար վերջին շարքով, եթե այն լրացնելու համար բավարար կետեր չկան: Լռելյայն #N/A է:
Օրինակ, B5:B24 միջակայքը փոխակերպելու համար յուրաքանչյուր տողում 5 արժեք ունեցող 2D զանգվածի, բանաձևը հետևյալն է.
=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 արժեք, և արդյունքը այբբենական կարգով դասավորելու համար, բանաձևը հետևյալն է.
Հուշում. Ստացված զանգվածում արժեքները նվազման կարգով դասավորելու համար 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) հինգ տողանոց զանգվածի. և ստացեք նույն արդյունքները.
=WRAPCOLS(D4:J4, 3, "")
և
=WRAPCOLS(B4:B20, 5, "")
Խնդրում ենք նկատի ունենալ, որ ի տարբերություն դինամիկ զանգվածի WRAPCOLS ֆունկցիայի, ավանդական բանաձևերը հետևում են հետևյալին. մեկ բանաձև-մեկ բջջային մոտեցում. Այսպիսով, մեր առաջին բանաձևը մուտքագրվում է D8-ում և պատճենվում 3 տող ներքև և 3 սյունակ դեպի աջ: Երկրորդ բանաձեւը մուտքագրվում է D14-ում և պատճենվում է 5 տող ներքև և 4 սյունակ դեպի աջ:
Ինչպես են աշխատում այս բանաձևերը
Երկու բանաձևերի հիմքում մենք օգտագործում ենք INDEX ֆունկցիան, որը վերադարձնում է արժեք մատակարարված զանգվածից՝ հիմնված տողի և սյունակի համարի վրա.
INDEX (զանգված, շարք_num, [column_num])Քանի որ մենք գործ ունենք մեկ տողանոց զանգվածի հետ, մենք կարող ենք բաց թողնել row_num արգումենտը, ուստի այն լռելյայն 1 է: Խնդիրն այն է, որ col_num ավտոմատ կերպով հաշվարկվում է յուրաքանչյուր բջիջի համար, որտեղ պատճենված է բանաձևը: Եվ ահա թե ինչպես ենք մենք դա անում.
INDEX($D$4:$J$4, ,1)
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-ին սյունակից: նշված զանգվածի, որը «Apple» է 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-րդ սյունակը, որը E4-ում «Apricots» է:
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։
Արդյունքում ստորև բերված բանաձևը վերադարձնում է արժեքը նշված զանգվածի առաջին սյունակից, որը «Apple» է.
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-րդ սյունակից, որը G4-ում «Cherries» է:
IF ֆունկցիան ստուգում է սյունակի համարը և եթե այն մեծ է ձեր նշած սյունակների քանակից, վերադարձնում է դատարկ տող (""), հակառակ դեպքում INDEX ֆունկցիայի արդյունքը.
IF(COLUMN(A1)>3, "", INDEX(…))
WRAPCOLS կամ WRAPROWS ֆունկցիան չի աշխատում
Եթե «փաթաթել» գործառույթները հասանելի չեն: Ձեր Excel-ում, թե սխալ է առաջանում, ամենայն հավանականությամբ դա ստորև բերված պատճառներից մեկն է:
#NAME? սխալ
Excel 365-ում, արդյոք #NAME: սխալ կարող է առաջանալ, քանի որ դուք սխալ եք գրել ֆունկցիայի անունը: Այլ տարբերակներում դա ցույց է տալիս, որ գործառույթները չեն ապահովվում: Որպես լուծում, դուք կարող եք օգտագործել WRAPCOLS այլընտրանքը կամ WRAPROWS այլընտրանքը:
#VALUE! սխալ
#VALUE սխալ է տեղի ունենում, եթե