Mündəricat
Sütun və ya dəyərlər cərgəsini ikiölçülü massiləyə çevirməyin ən sürətli yolu WRAPCOLS və ya WRAPROWS funksiyasından istifadə etməkdir.
Excel-in ilk günlərindən bu yana ədədləri hesablamaq və təhlil etməkdə çox yaxşı. Lakin massivləri manipulyasiya etmək ənənəvi olaraq çətin idi. Dinamik massivlərin tətbiqi massiv düsturlarının istifadəsini xeyli asanlaşdırdı. İndi Microsoft massivləri manipulyasiya etmək və yenidən formalaşdırmaq üçün bir sıra yeni dinamik massiv funksiyalarını buraxır. Bu dərslik sizə sütun və ya cərgəni qısa zamanda 2D massivinə çevirmək üçün iki belə funksiyadan, WRAPCOLS və WRAPROWS-dan necə istifadə etməyi öyrədəcək.
Excel WRAPCOLS funksiyası
Excel-də WRAPCOLS funksiyası hər sətir üçün müəyyən edilmiş dəyər sayına əsaslanaraq dəyərlərin sətir və ya sütununu ikiölçülü massivə çevirir.
Sintaksis aşağıdakı arqumentlərə malikdir:
WRAPCOLS(vektor, wrap_count, [pad_with])Burada:
- vektor (tələb olunur) - mənbə birölçülü massiv və ya diapazon.
- wrap_count (tələb olunur) - sütun başına dəyərlərin maksimum sayı.
- pad_with (isteğe bağlı) - doldurmaq üçün kifayət qədər element yoxdursa, sonuncu sütunla doldurulacaq dəyər. Buraxıldıqda, çatışmayan dəyərlər #N/A (defolt) ilə doldurulacaq.
Məsələn, B5:B24 diapazonunu hər sütunda 5 dəyəri olan 2 ölçülü massilə dəyişmək üçün formula belədir:
=WRAPROWS(B5:B24, 5)
Siz daxil edin vektor arqumenti birölçülü massiv deyil.
#NUM! xəta
Əgər wrap_count dəyəri 0 və ya mənfi ədəd olarsa, #NUM xətası baş verir.
#SPILL! səhv
Çox vaxt #SPILL xətası, nəticələrin içərisinə tökülməsi üçün kifayət qədər boş xanaların olmadığını göstərir. Qonşu hüceyrələri təmizləyin və o, yox olacaq. Səhv davam edərsə, Excel-də #SPILL nə demək olduğunu və onun necə düzəldiləcəyini yoxlayın.
Birölçülü diapazonu Excel-də ikiölçülü massivə çevirmək üçün WRAPCOLS və WRAPROWS funksiyalarından belə istifadə etmək olar. Oxuduğunuz üçün sizə təşəkkür edirəm və sizi gələn həftə bloqumuzda görməyə ümid edirəm!
Endirmək üçün məşq kitabçası
WRAPCOLS və WRAPROWS funksiyaları - nümunələr (.xlsx faylı)
düstur hər hansı bir hüceyrədə olur və o, lazım olduğu qədər çox hüceyrəyə avtomatik olaraq tökülür. WRAPCOLS çıxışında dəyərlər wrap_countdəyərinə əsaslanaraq yuxarıdan aşağıya doğru şaquli şəkildə düzülür. Hesaba çatdıqdan sonra yeni sütun başlayır.
Excel WRAPROWS funksiyası
Excel-də WRAPROWS funksiyası sizin təyin etdiyiniz hər sətir üzrə dəyərlərin sayına əsasən dəyərlərin sətir və ya sütununu ikiölçülü massivə çevirir.
Sintaksis aşağıdakı kimidir:
WRAPROWS(vektor, wrap_count, [pad_with])Burada:
- vektor (tələb olunur) - birölçülü mənbə massiv və ya diapazon.
- wrap_count (tələb olunur) - hər sətir üçün maksimum dəyərlər sayı.
- pad_with (isteğe bağlı) - pad üçün dəyər doldurmaq üçün kifayət qədər element yoxdursa, sonuncu sıra ilə. Defolt #N/A-dır.
Məsələn, B5:B24 diapazonunu hər sətirdə 5 dəyəri olan 2D massilə çevirmək üçün düstur belədir:
=WRAPROWS(B5:B24, 5)
Düsturu dağılma diapazonunun yuxarı sol xanasına daxil edirsiniz və o, avtomatik olaraq bütün digər xanaları doldurur. WRAPROWS funksiyası wrap_count dəyərinə əsaslanaraq dəyərləri soldan sağa üfüqi şəkildə təşkil edir. Hesaba çatdıqdan sonra yeni sıra başlayır.
WRAPCOLS və WRAPROWS mövcudluğu
Hər iki funksiya yalnız Microsoft 365 (Windows və Mac) üçün Excel və veb üçün Excel-də mövcuddur.
Daha əvvəlversiyalarda sütundan massivə və sətirdən massivə çevrilmələri yerinə yetirmək üçün ənənəvi daha mürəkkəb düsturlardan istifadə edə bilərsiniz. Bu dərslikdə biz alternativ həll yollarını ətraflı müzakirə edəcəyik.
İpucu. Əks əməliyyatı yerinə yetirmək, yəni 2D massivi tək sütun və ya cərgəyə dəyişmək üçün müvafiq olaraq TOCOL və ya TOROW funksiyasından istifadə edin.
Excel-də sütunu/sətiri diapazona necə çevirmək olar - nümunələr
Əsas istifadəni başa düşdüyünüzə görə, gəlin daha bir neçə konkret halı nəzərdən keçirək.
Sütun və ya sətir üçün maksimum dəyərlərin sayını təyin edin
Asılı olaraq orijinal məlumatınızın strukturuna uyğun olaraq, onu sütunlara (WRAPCOLS) və ya sətirlərə (WRAPROWS) yenidən təşkil etmək üçün uyğun tapa bilərsiniz. Hansı funksiyadan istifadə edirsinizsə, bu, hər bir sütunda/sətirdə maksimum dəyərlərin sayını təyin edən wrap_count arqumentidir.
Məsələn, B4:B23 diapazonunu 2D massilə çevirmək üçün, hər bir sütunun maksimum 10 dəyəri olması üçün bu düsturdan istifadə edin:
=WRAPCOLS(B4:B23, 10)
Eyni diapazonu sətir-sətirdə yenidən tənzimləmək üçün hər bir sətirdə maksimum 4 dəyər olmalıdır, formula belədir. :
=WRAPROWS(B4:B23, 4)
Aşağıdakı şəkil bunun necə göründüyünü göstərir:
Nəticədə massivdə çatışmayan dəyərlər
Doldurmaq üçün kifayət qədər dəyər olmadıqda yaranan diapazonun bütün sütunları/sətirləri, WRAPROWS və WRAPCOLS 2D massivinin strukturunu saxlamaq üçün #N/A xətaları qaytaracaq.
Defolt parametri dəyişdirmək üçündavranışdan asılı olmayaraq, isteğe bağlı pad_with arqumenti üçün fərdi dəyər təqdim edə bilərsiniz.
Məsələn, B4:B21 diapazonunu maksimum 5 dəyər genişliyi olan 2D massivə çevirmək və sonuncunu doldurmaq üçün onu doldurmaq üçün kifayət qədər məlumat yoxdursa, tire ilə sətir, bu düsturdan istifadə edin:
=WRAPROWS(B4:B21, 5, "-")
Çatışmayan dəyərləri sıfır uzunluqlu sətirlərlə (boşluqlar) əvəz etmək üçün düstur belədir:
=WRAPROWS(B4:B21, 5, "")
Lütfən, nəticələri defolt davranışla (D5-də düstur) müqayisə edin, burada pad_with buraxılmır:
Birdən çox sətirləri 2D diapazonunda birləşdirin
Bir neçə ayrı cərgəni vahid 2D massivində birləşdirmək üçün siz əvvəlcə HSTACK funksiyasından istifadə edərək sətirləri üfüqi şəkildə yığın, sonra isə WRAPROWS və ya WRAPCOLS istifadə edərək dəyərləri sarın.
Məsələn, dəyərləri birləşdirmək üçün 3 cərgə (B5:J5, B7:G7 və B9:F9) və hər biri 10 dəyərdən ibarət olan sütunlara sarın, düstur belədir:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
Çoxlu cərgələrin dəyərlərini birləşdirmək üçün Hər bir sıra 5 dəyərdən ibarət 2D diapazonunda düstur bu formanı alır:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
C bir neçə sütunu 2D massivində birləşdirin
Bir neçə sütunu 2D diapazonunda birləşdirmək üçün əvvəlcə VSTACK funksiyasından istifadə edərək onları şaquli şəkildə yığın, sonra dəyərləri sətirlərə (WRAPROWS) və ya sütunlara (WRAPCOLS) yığın.
Məsələn, 3 sütundakı dəyərləri (B5:J5, B7:G7 və B9:F9) hər bir sütunun 10 dəyərdən ibarət olduğu 2D diapazonunda birləşdirmək üçün formula belədir:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
Birləşdirmək üçüneyni sütunları hər sətirin 5 dəyərdən ibarət olduğu 2D diapazonuna daxil edin, bu düsturdan istifadə edin:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
Massivi sarın və çeşidləyin
Mənbə diapazonunda dəyərlərin olduğu vəziyyətdə Çıxışın çeşidlənməsini istədiyiniz zaman bu şəkildə davam edin:
- SORT funksiyasından istifadə edərək ilkin massivi istədiyiniz kimi çeşidləyin.
- Sortulanmış massivi WRAPCOLS-a təqdim edin. və ya WRAPROWS.
Məsələn, B4:B23 diapazonunu hər birində 4 dəyər olmaqla sətirlərə bükmək və nəticədə yaranan diapazonu A-dan Z-yə qədər çeşidləmək üçün belə bir düstur qurun:
=WRAPROWS(SORT(B4:B23), 4)
Eyni diapazonu sütunlara, hər birində 10 dəyərə bükmək və çıxışı əlifba sırası ilə çeşidləmək üçün düstur belədir:
=WRAPCOLS(SORT(B4:B23), 10)
Nəticələr aşağıdakı kimi görünür :
İpucu. Yaranan massivdəki dəyərləri azalan ardıcıllıqla tənzimləmək üçün SORT funksiyasının üçüncü arqumentini ( sort_order ) -1-ə təyin edin.
Excel 365 üçün WRAPCOLS alternativi - 2010
WRAPCOLS funksiyasının dəstəklənmədiyi köhnə Excel versiyalarında siz birölçülü massivdən dəyərləri sütunlara yığmaq üçün öz düsturunuzu yarada bilərsiniz. Bu, 5 müxtəlif funksiyanı birlikdə istifadə etməklə edilə bilər.
Sırtı 2D diapazonuna çevirmək üçün WRAPCOLS alternativi:
IFERROR(ƏGƏR(ROW(A1)> n , "" , INDEX( sətir_aralığı , , ROW(A1) + (COLUMN(A1)-1)* n )), "")Sütunu 2D-yə çevirmək üçün WRAPCOLS alternativi diapazon:
SƏFƏR(ƏGƏR(SATIR(A1)> n ,"", İNDEX( sütun_aralığı , SATIR(A1) + (SÜTUN(A1)-1)* n )), "")Burada n hər sütun üçün maksimum dəyərlər sayıdır.
Aşağıdakı şəkildə bir sıra diapazonunu (D4:J4) üç sıralı massiləyə çevirmək üçün aşağıdakı düsturdan istifadə edirik.
=IFERROR(IF(ROW(A1)>3, "", INDEX($D$4:$J$4, , ROW(A1) + (COLUMN(A1)-1)*3)), "")
Və bu düstur bir sütunlu diapazonu (B4:B20) beş sıralı massiləyə çevirir:
=IFERROR(IF(ROW(A1)>5, "", INDEX($B$4:$B$20, ROW(A1) + (COLUMN(A1)-1)*5)), "")
Yuxarıdakı həllər analoji WRAPCOLS düsturlarını təqlid edir və eyni nəticələri verir:
=WRAPCOLS(D4:J4, 3, "")
və
=WRAPCOLS(B4:B20, 5, "")
Xahiş edirik unutmayın ki, WRAPCOLS dinamik massiv funksiyasından fərqli olaraq ənənəvi düsturlar aşağıdakılara əməl edir. bir formula-bir hüceyrəli yanaşma. Beləliklə, ilk düsturumuz D8-ə daxil edilir və 3 sətir aşağı və 3 sütun sağa köçürülür. İkinci düstur D14-ə daxil edilir və 5 sətir aşağı və 4 sütun sağa köçürülür.
Bu düsturlar necə işləyir
Hər iki düsturun mərkəzində biz sətir və sütun nömrəsinə əsasən verilən massivdən dəyər qaytaran İNDEKS funksiyasından istifadə edirik:
İNDEKS(massiv, sətir_num, [sütun_sayı])Biz bir sətirli massivlə məşğul olduğumuz üçün sətir_num arqumentini buraxa bilərik, ona görə də defolt olaraq 1-dir. col_num formulun kopyalandığı hər bir xana üçün avtomatik hesablanır. Biz bunu belə edirik:
ROW(A1)+(COLUMN(A1)-1)*3)
ROW funksiyası 1 olan A1 istinadının sətir nömrəsini qaytarır.
COLUMN funksiyası sütun nömrəsini qaytarır.A1 arayışı, bu da 1. 1-i çıxarmaq onu sıfıra çevirir. Və 0-ı 3-ə vurmaq 0-ı verir.
Sonra, ROW ilə qaytarılan 1-i və SÜTUN tərəfindən qaytarılan 0-ı toplayır və nəticədə 1-i əldə edirsiniz.
Beləliklə, yuxarıdakı INDEX düsturu -təyinat diapazonunun (D8) sol xanası bu transformasiyaya məruz qalır:
INDEX($D$4:$J$4, ,ROW(A1) + (COLUMN(A1)-1)*3))
INDEX($D$4:$J$4, ,1)
olaraq dəyişir və 1-ci sütundan dəyəri qaytarır D4-də "Almalar" olan göstərilən massivin.
Düstur D9 xanasına kopyalandıqda nisbi xana istinadları sətir və sütunların nisbi mövqeyinə əsasən dəyişir, mütləq diapazon arayışı isə dəyişməz qalır:
INDEX($D$4:$J$4,, ROW(A2)+(COLUMN(A2)-1)*3))
çevrilir:
INDEX($D$4:$J$4,, 2+(1-1)*3))
olur:
INDEX($D$4:$J$4,, 2))
və dəyəri qaytarır E4-də "Əriklər" olan göstərilən massivin 2-ci sütunu.
IF funksiyası sətir nömrəsini yoxlayır və göstərdiyiniz sətirlərin sayından çox olarsa (bizim halda 3) boş sətir qaytarır ( ""), əks halda INDEX funksiyasının nəticəsi:
IF(ROW(A1)>3, "", INDEX(…))
Nəhayət, IFERROR funksiyası #REF! düstur həqiqətən lazım olduğundan daha çox xanaya kopyalandıqda baş verən xəta.
Sütunu 2D diapazonuna çevirən ikinci düstur eyni məntiqlə işləyir. Fərq ondadır ki, siz INDEX üçün sətir_num arqumentini tapmaq üçün ROW + COLUMN birləşməsindən istifadə edirsiniz. Bu halda col_num parametrinə ehtiyac yoxdur, çünki sadəcə varmənbə massivində bir sütun.
Excel 365 - 2010 üçün WRAPROWS alternativi
Excel 2019 və daha əvvəlki versiyalarda birölçülü massivdən dəyərləri sətirlərə yığmaq üçün istifadə edə bilərsiniz WRAPROWS funksiyasına aşağıdakı alternativlər.
Sətiri 2D diapazonuna çevirin:
IFERROR(ƏGƏR(COLUMN(A1)> n , "", INDEX( ) sətir_aralığı , , SÜTUN(A1)+(SATIR(A1)-1)* n )), "")Sütunu 2D diapazonuna dəyişin:
IFERROR(ƏGƏR( SÜTUN(A1)> n , "", İNDEKS( sütun_aralığı , SÜTUN(A1)+(SATIR(A1)-1)* n )) , "")Burada n hər sətirə düşən dəyərlərin maksimum sayıdır.
Nümunə məlumat dəstimizdə bir sıra diapazonunu (D4) çevirmək üçün aşağıdakı düsturdan istifadə edirik. :J4) üç sütunlu diapazona. Düstur D8 xanasına düşür və sonra 3 sütun və 3 cərgədə kopyalanır.
=IFERROR(IF(COLUMN(A1)>3, "", INDEX($D$4:$J$4, , COLUMN(A1)+(ROW(A1)-1)*3)), "")
1 sütunlu diapazonu (B4:B20) 5 sütunlu diapazonda yenidən formalaşdırmaq üçün, aşağıdakı düsturu D14-ə daxil edin və onu 5 sütun və 4 sətir arasında sürükləyin.
=IFERROR(IF(COLUMN(A1)>5, "", INDEX($B$4:$B$20, COLUMN(A1)+(ROW(A1)-1)*5)), "")
Excel 365-də eyni nəticələrə WRAPCOLS ekvivalent düsturları ilə nail olmaq olar:
=WRAPROWS(D4:J4, 3, "")
və
=WRAPROWS(B4:B20, 5, "")
Bu düsturlar necə işləyir
Əslində bu düsturlar əvvəlki nümunədəki kimi işləyir. Fərq INDEX funksiyası üçün sətir_num və sütun_num koordinatlarını necə təyin etdiyinizdədir:
INDEX($D$4:$J$4,, COLUMN(A1)+(ROW(A1)-1)*3))
Üst üçün sütun nömrəsini əldə etmək üçün təyinat diapazonunda sol xana (D8), siz bundan istifadə edirsinizifadə:
COLUMN(A1)+(ROW(A1)-1)*3)
ki, bu dəyişir:
1+(1-1)*3
və 1 verir.
Nəticədə, aşağıdakı düstur "Almalar" olan göstərilən massivin birinci sütununun dəyərini qaytarır:
INDEX($D$4:$J$4,, 1)
İndiyə qədər nəticə əvvəlki ilə eynidir. misal. Amma gəlin görək digər xanalarda nə baş verir...
D9 xanasında nisbi xana istinadları aşağıdakı kimi dəyişir:
INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-1)*3))
Beləliklə, formula çevrilir:
INDEX($D$4:$J$4,, 1+(2-1)*3))
olur:
INDEX($D$4:$J$4,, 4))
və G4-də "Albalı" olan göstərilən massivin 4-cü sütunundan dəyəri qaytarır.
ƏGƏR funksiyası sütun nömrəsini yoxlayır və bu, göstərdiyiniz sütunların sayından çox olarsa, boş sətir ("") qaytarır, əks halda INDEX funksiyasının nəticəsi:
IF(COLUMN(A1)>3, "", INDEX(…))
Son toxunuş kimi, IFERROR #REF! düsturu lazım olandan daha çox xanaya köçürsəniz, "əlavə" xanalarda görünən xətalar.
WRAPCOLS və ya WRAPROWS funksiyası işləmir
"Wrap" funksiyaları mövcud deyilsə Excel-də və ya xəta ilə nəticələndikdə, bu, çox güman ki, aşağıdakı səbəblərdən biri ola bilər.
#NAME? xəta
Excel 365-də #NAME? funksiyanın adını səhv yazdığınız üçün xəta baş verə bilər. Digər versiyalarda bu, funksiyaların dəstəklənmədiyini göstərir. Çözüm kimi, siz WRAPCOLS alternativindən və ya WRAPROWS alternativindən istifadə edə bilərsiniz.
#VALUE! xəta
Əgər #VALUE xətası baş verir