Агуулгын хүснэгт
Утгын багана эсвэл мөрийг хоёр хэмжээст массив болгон хувиргах хамгийн хурдан арга бол WRAPCOLS эсвэл WRAPROWS функцийг ашиглах явдал юм.
Excel-ийн анхны өдрүүдээс хойш үүнийг ашиглаж ирсэн. тоо бодох, дүн шинжилгээ хийхдээ маш сайн. Гэхдээ массивыг удирдах нь уламжлал ёсоор бэрхшээлтэй байсаар ирсэн. Динамик массивыг нэвтрүүлсэн нь массивын томъёоны хэрэглээг ихээхэн хөнгөвчилсөн. Одоо Майкрософт массивыг удирдах, хэлбэржүүлэх шинэ динамик массив функцуудыг гаргаж байна. Энэхүү заавар нь багана эсвэл мөрийг богино хугацаанд 2D массив болгон хувиргахын тулд WRAPCOLS болон WRAPROWS гэсэн хоёр функцийг хэрхэн ашиглахыг заах болно.
Excel-ийн WRAPCOLS функц
Excel-ийн WRAPCOLS функц нь мөр бүрт заасан утгуудын тоонд үндэслэн утгуудын мөр эсвэл баганыг хоёр хэмжээст массив болгон хувиргадаг.
Синтакс нь дараах аргументуудтай:
WRAPCOLS(вектор, ороосон_тоо, [даавуутай])Энд:
- вектор (шаардлагатай) - эх үүсвэрийн нэг хэмжээст массив эсвэл муж.
- wrap_count (шаардлагатай) - багана дахь утгын хамгийн их тоо.
- pad_with (заавал биш) - бөглөх зүйл хангалтгүй байвал сүүлчийн баганыг бөглөх утга. Хэрэв орхигдуулсан бол дутуу утгуудыг #N/A (өгөгдмөл)-ээр дүүргэнэ.
Жишээлбэл, B5:B24 мужийг нэг баганад 5 утгатай 2 хэмжээст массив болгон өөрчлөхийн тулд томъёо нь:
=WRAPROWS(B5:B24, 5)
Та оруулна вектор аргумент нь нэг хэмжээст массив биш юм.
#МУИС! алдаа
Хэрэв wrap_count утга 0 эсвэл сөрөг тоо байвал #NUM алдаа гарна.
#SPILL! алдаа
Ихэнх тохиолдолд #АСГАХ алдаа нь үр дүнг асгахад хангалттай хоосон нүд байхгүй байгааг илтгэдэг. Хөрш зэргэлдээх нүдийг цэвэрлэ, тэгвэл энэ нь алга болно. Хэрэв алдаа гарсаар байвал Excel-д #SPILL гэж юу гэсэн үг, түүнийг хэрхэн засах талаар шалгана уу.
Ингэж нэг хэмжээст мужийг Excel дээр хоёр хэмжээст массив болгон хөрвүүлэхийн тулд WRAPCOLS болон WRAPROWS функцуудыг ашиглах боломжтой. Уншсан танд баярлалаа, дараа долоо хоногт манай блог дээр уулзана гэж найдаж байна!
Татаж авах дасгалын ном
WRAPCOLS болон WRAPROWS функцууд - жишээнүүд (.xlsx файл)
томъёог дурын нүдэнд суулгаж, шаардлагатай бол олон нүд рүү автоматаар асгардаг. WRAPCOLS гаралт дээр утгууд нь wrap_countутга дээр тулгуурлан дээрээс доош босоо байрлалтай байна. Тооцоонд хүрсэний дараа шинэ багана эхэлнэ.
Excel-ийн WRAPROWS функц
Excel-ийн WRAPROWS функц нь таны зааж өгсөн мөр бүрийн утгын тоонд үндэслэн мөр эсвэл баганыг хоёр хэмжээст массив болгон хувиргадаг.
Синтакс нь дараах байдалтай байна:
WRAPROWS(вектор, ороосон_тоо, [талавчтай])Энд:
- вектор (шаардлагатай) - нэг хэмжээст эх сурвалж массив эсвэл муж.
- wrap_count (шаардлагатай) - нэг мөрөнд байх утгын дээд тоо.
- pad_with (заавал биш) - pad хийх утга бөглөх хангалттай зүйл байхгүй бол сүүлчийн эгнээтэй. Өгөгдмөл нь #Үгүй.
Жишээ нь, B5:B24 мужийг мөр бүрт 5 утгатай 2 хэмжээст массив болгон хувиргахын тулд дараах томьёо:
=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 аргументад тусгай утгыг өгч болно.
Жишээ нь, B4:B21 мужийг хамгийн ихдээ 5 утга бүхий 2D массив болгон хувиргаж, сүүлчийнх нь дэвсгэрт оруулна. Хэрэв бөглөх хангалттай өгөгдөл байхгүй бол зураастай мөр бичнэ үү, энэ томъёог ашиглана уу:
=WRAPROWS(B4:B21, 5, "-")
Дутуу утгыг тэг урттай тэмдэгт мөрүүдээр (хоосон тэмдэгтээр) солихын тулд дараах томьёо:
=WRAPROWS(B4:B21, 5, "")
Үр дүнг pad_with -г орхигдуулсан үндсэн төлөвтэй (D5 дахь томьёо) харьцуулна уу:
Олон мөрийг 2D мужид нэгтгэх
Хэд хэдэн тусдаа мөрүүдийг нэг 2D массив болгон нэгтгэхийн тулд та эхлээд HSTACK функцийг ашиглан мөрүүдийг хэвтээ байдлаар давхарлаж, дараа нь WRAPROWS эсвэл WRAPCOLS ашиглан утгуудыг боож өгнө.
Жишээлбэл, утгуудыг нэгтгэхийн тулд HSTACK функцийг ашиглана. 3 мөр (B5:J5, B7:G7 ба B9:F9) болон тус бүр нь 10 утгыг агуулсан багана болгон боож, томъёо нь:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
Олон мөрийн утгуудыг нэгтгэх Мөр бүр 5 утгыг агуулсан 2D мужид томъёо нь дараах хэлбэртэй байна:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
C олон баганыг 2D массив болгон нэгтгэх
Хэд хэдэн баганыг 2D мужид нэгтгэхийн тулд эхлээд VSTACK функцийг ашиглан тэдгээрийг босоо байдлаар давхарлаж, дараа нь утгуудыг мөр (WRAPROWS) эсвэл багана (WRAPCOLS) болгон боож өгнө.
Жишээлбэл, 3 баганын (B5:J5, B7:G7 ба B9:F9) утгуудыг багана бүр 10 утга агуулсан 2D муж болгон нэгтгэхийн тулд дараах томьёо:
=WRAPCOLS(HSTACK(B5:J5, B7:G7, B9:F9), 10)
-г нэгтгэхийн тулдМөр бүр 5 утга агуулсан ижил багануудыг 2D муж болгон оруулах бол дараах томьёог ашиглана уу:
=WRAPROWS(HSTACK(B5:J5, B7:G7, B9:F9), 5)
Масивыг боож эрэмбэлэх
Эх сурвалж муж нь дараах утгуудтай үед гаралтыг эрэмбэлэхийг хүсвэл дараах байдлаар үргэлжлүүлнэ үү:
- SORT функцийг ашиглан эхний массивыг хүссэнээрээ эрэмбэлэх.
- Эрэмбэлэгдсэн массивыг WRAPCOLS-д нийлүүлнэ. эсвэл WRAPROWS.
Жишээ нь, B4:B23 мужийг тус бүрд 4 утгатай мөр болгон боож, үр дүнгийн мужийг А-аас Я хүртэл эрэмбэлэхийн тулд дараах томъёог байгуулна уу:
=WRAPROWS(SORT(B4:B23), 4)
Ижил мужийг багана болгон, тус бүрд 10 утгыг боож, гаралтыг цагаан толгойн үсгийн дарааллаар эрэмбэлэхийн тулд дараах томъёог авна уу:
=WRAPCOLS(SORT(B4:B23), 10)
Үр дүн дараах байдлаар харагдана. :
Зөвлөгөө. Үүссэн массив дахь утгуудыг буурах дарааллаар цэгцлэхийн тулд SORT функцийн гурав дахь аргументыг ( эрэмлэх_эрэмлэх ) -1 болгож тохируулна уу.
Excel 365-д зориулсан WRAPCOLS хувилбар - 2010
WRAPCOLS функцийг дэмждэггүй хуучин Excel хувилбаруудад нэг хэмжээст массиваас утгуудыг багана болгон боож өгөхийн тулд өөрийн томьёо үүсгэж болно. Үүнийг 5 өөр функцийг хамтад нь ашиглан хийж болно.
Мөрийг 2D муж болгон хувиргах WRAPCOLS хувилбар:
IFERROR(IF(ROW(A1)> n , "" , INDEX( мөрийн_муж , , ROW(A1) + (COLUMN(A1)-1)* n )), "")WRAPCOLS баганыг 2D болгон хөрвүүлэх хувилбар муж:
ХЭРЭГЛЭЭ(Хэрэв(ROW(A1)> n ,"", INDEX( баганын_муж , ROW(A1) + (БАГАН(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(массив, мөрийн_тоо, [баганын_тоо])Бид нэг эгнээний массивтай харьцаж байгаа тул мөр_тоо аргументыг орхиж болох тул өгөгдмөл нь 1 байна. Томьёог хуулсан нүд бүрт бага_тоо автоматаар тооцогдоно. Үүнийг бид дараах байдлаар хийдэг:
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)
болж өөрчлөгдөж, 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))
болж хувирч, утгыг буцаана. Заасан массивын 2-р багана нь E4 дэх "Apricots" юм.
IF функц нь мөрийн дугаарыг шалгадаг бөгөөд хэрэв таны заасан мөрийн тооноос их бол (манай тохиолдолд 3) хоосон мөрийг буцаана. ""), эс бөгөөс INDEX функцийн үр дүн:
IF(ROW(A1)>3, "", INDEX(…))
Эцэст нь IFERROR функц нь #REF! Томьёог шаардлагатай хэмжээнээс олон нүд рүү хуулах үед гардаг алдаа.
Баганыг 2D муж болгон хувиргах хоёр дахь томьёо нь ижил логикоор ажилладаг. Ялгаа нь та INDEX-ийн мөрийн_тоо аргументыг олохын тулд ROW + COLUMN хослолыг ашигладаг. Энэ тохиолдолд col_num параметр хэрэггүй, учир нь зүгээр л байдагэх массив дахь нэг багана.
Excel 365 - 2010-д зориулсан WRAPROWS хувилбар
Excel 2019 болон түүнээс өмнөх хувилбарт нэг хэмжээст массивын утгуудыг мөр болгон оруулахын тулд та ашиглаж болно. WRAPROWS функцийн дараах хувилбаруудыг ашиглана уу.
Мөрийг 2 хэмжээст муж болгон хувиргана уу:
IFERROR(IF(COLUMN(A1)> n , "", INDEX( ) мөрийн_муж , , COLUMN(A1)+(ROW(A1)-1)* n )), "")Баганыг 2 хэмжээст муж болгон өөрчлөх:
IFERROR(IF( COLUMN(A1)> n , "", INDEX( баганын_муж , БАГАНА(A1)+(ROW(A1)-1)* n )) , "")Энд n нь нэг мөрөнд байх хамгийн их утгын тоо юм.
Бид түүвэр өгөгдлийн багцад нэг мөрийн мужийг (D4) хөрвүүлэхдээ дараах томъёог ашигладаг. :J4) гурван баганын муж руу оруулна. Томъёо нь D8 нүдэнд бууж, дараа нь 3 багана, 3 мөрөнд хуулна.
INDEX($D$4:$J$4,, COLUMN(A2)+(ROW(A2)-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, "")
Эдгээр томьёо хэрхэн ажилладаг вэ
Үндсэндээ эдгээр томъёонууд өмнөх жишээн дээрх шиг ажилладаг. Ялгаа нь та INDEX функцийн мөрийн_тоо ба бага_тоо координатыг хэрхэн тодорхойлоход оршино:
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 дэх "Интоор" болох заасан массивын 4-р баганаас утгыг буцаана.
IF функц нь баганын дугаарыг шалгах бөгөөд хэрэв энэ нь таны заасан баганын тооноос их байвал хоосон мөр ("") буцаана, эс тэгвээс INDEX функцийн үр дүн:
IF(COLUMN(A1)>3, "", INDEX(…))
Төгсгөлийн хувьд IFERROR нь #REF! Хэрэв та томьёог шаардлагатай хэмжээнээс олон нүд рүү хуулж авбал "нэмэлт" нүднүүдэд гарч ирэх алдаа.
WRAPCOLS эсвэл WRAPROWS функц ажиллахгүй
Хэрэв "боодол" функц байхгүй бол Хэрэв таны Excel дээр алдаа гарсан бол энэ нь доорх шалтгаануудын нэг байх магадлалтай.
#NAME? алдаа
Excel 365 дээр #NAME байна уу? Та функцийн нэрийг буруу бичсэн тул алдаа гарч болзошгүй. Бусад хувилбаруудад энэ нь функцууд дэмжигдээгүй байгааг харуулж байна. Үүнийг шийдвэрлэхийн тулд та WRAPCOLS хувилбар эсвэл WRAPROWS хувилбарыг ашиглаж болно.
#VALUE! алдаа
Хэрэв #VALUE алдаа гарна