Ngarobah kolom / baris ka Asép Sunandar Sunarya dina Excel: WRACOLS & amp; fungsi WRAPROWS

  • Bagikeun Ieu
Michael Brown

Cara panggancangna pikeun ngarobah kolom atawa baris nilai jadi array dua diménsi nyaéta ngagunakeun fungsi WRAPROWS atawa WRAPROWS.

Ti mimiti poé Excel, éta geus pohara alus dina ngitung jeung nganalisis angka. Tapi manipulasi arrays geus tradisional geus tangtangan. Bubuka arrays dinamis ngajadikeun pamakéan rumus arrays pisan gampang. Sareng ayeuna, Microsoft ngaluarkeun sakumpulan fungsi array dinamis anyar pikeun ngamanipulasi sareng ngawangun deui susunan. Tutorial ieu bakal ngajarkeun anjeun kumaha ngagunakeun dua fungsi sapertos, WRACOLS sareng WRAPROWS, pikeun ngarobih kolom atanapi baris janten susunan 2D dina waktos anu lami.

Fungsi Excel WRACOLS

Fungsi WRACOLS dina Excel ngarobah baris atawa kolom nilai jadi array dua diménsi dumasar kana jumlah nilai nu ditangtukeun per baris.

Sintaksis mibanda argumen di handap ieu:

WRACOLS(vektor, wrap_count, [pad_with])

Dimana:

  • vektor (diperlukeun) - sumber array atawa rentang hiji diménsi.
  • wrap_count (diperlukeun) - jumlah maksimum nilai per kolom.
  • pad_with (opsional) - nilai pikeun Pad jeung kolom panungtungan lamun aya cukup item pikeun ngeusian eta. Lamun dileungitkeun, nilai nu leungit bakal dilapis ku #N/A (standar).

Contona, pikeun ngarobah rentang B5:B24 jadi array 2 diménsi kalawan 5 nilai per kolom, rumusna nyaéta:

=WRAPROWS(B5:B24, 5)

Anjeun ngasupkeunargumen vektor sanes susunan hiji diménsi.

#NUM! kasalahan

Kasalahan #NUM lumangsung lamun nilai wrap_count 0 atawa angka négatif.

#SPILL! kasalahan

Pangseringna, kasalahan #SPILL nunjukkeun yén teu cukup sél kosong pikeun ngeusian hasil. Hapus sél tatangga, sareng éta bakal musna. Upami kasalahan tetep aya, pariksa naon hartosna #SPILL dina Excel sareng kumaha carana ngalereskeunana.

Kitu kumaha ngagunakeun fungsi WRACOLS sareng WRAPROWS pikeun ngarobih rentang hiji diménsi janten array dua diménsi dina Excel. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog urang minggu payun!

Buku kerja latihan pikeun diunduh

fungsi WRAPROWS sareng WRAPROWS - conto (file .xlsx)

rumus dina sagala sél tunggal jeung eta otomatis spills kana saloba sél sakumaha diperlukeun. Dina kaluaran WRACOLS, nilai-nilaina disusun vertikal, ti luhur ka handap, dumasar kana nilai wrap_count. Saatos cacah parantos ngahontal, kolom énggal dimimitian.

Fungsi Excel WRAPROWS

Fungsi WRAPROWS dina Excel ngarobah baris atawa kolom nilai jadi array dua diménsi dumasar kana jumlah nilai per baris nu Anjeun tangtukeun.

Sintaksisna kieu:

WRAPROWS(vektor, wrap_count, [pad_with])

Dimana:

  • vektor (diperlukeun) - sumberna hiji diménsi. array atawa rentang.
  • wrap_count (diperlukeun) - jumlah maksimum nilai per baris.
  • pad_with (opsional) - nilai pikeun pad kalawan baris panungtungan lamun aya cukup item pikeun ngeusian eta. Standarna nyaéta #N/A.

Contona, pikeun ngarobah rentang B5:B24 jadi array 2D nu mibanda 5 nilai dina unggal baris, rumusna nyaéta:

=WRAPROWS(B5:B24, 5)

Anjeun ngasupkeun rumus dina sél kénca luhur rentang spill, sarta eta populates sakabeh sél séjén otomatis. Pungsi WRAPROWS ngatur niléy sacara horisontal, ti kénca ka katuhu, dumasar kana nilai wrap_count . Saatos ngahontal cacah, éta dimimitian baris anyar.

Kasadiaan WRAPROWS sareng WRAPROWS

Kadua pungsi ieu ngan sayogi dina Excel kanggo Microsoft 365 (Windows sareng Mac) sareng Excel pikeun wéb.

Saméméhnaversi, Anjeun tiasa make rumus tradisional leuwih kompleks pikeun ngalakukeun transformasi kolom-to-array jeung baris-to-array. Salajengna dina tutorial ieu, urang bakal ngabahas solusi alternatif sacara rinci.

Tip. Pikeun ngalakukeun operasi ngabalikeun, nyaéta ngarobah array 2D kana hiji kolom atawa baris, gunakeun fungsi TOCOL atawa TOROW, masing-masing.

Kumaha carana ngarobah kolom / baris ka rentang dina Excel - conto

Ayeuna anjeun parantos ngartos pamakean dasar, hayu urang tingali sababaraha kasus anu langkung khusus.

Setel jumlah maksimal nilai per kolom atanapi baris

Gumantung kana struktur data aslina anjeun, anjeun bisa manggihan eta cocog pikeun ulang disusun kana kolom (WRAPCOLS) atawa baris (WRAPROWS). Naon waé fungsi anu anjeun anggo, éta mangrupikeun argumen wrap_count anu nangtukeun jumlah maksimal nilai dina unggal kolom/baris.

Contona, pikeun ngarobih rentang B4:B23 kana array 2D, supaya tiap kolom boga maksimum 10 nilai, gunakeun rumus ieu:

=WRAPCOLS(B4:B23, 10)

Pikeun nyusun ulang rentang anu sarua ku baris, jadi unggal baris boga maksimum 4 nilai, rumusna nyaeta :

=WRAPROWS(B4:B23, 4)

Gambar di handap nembongkeun kumaha ieu:

Pad leungit nilai dina array hasilna

Bisi aya nilai cukup pikeun ngeusian sakabeh kolom/baris rentang hasilna, WRAPROWS jeung WRACOLS bakal mulangkeun kasalahan #N/A pikeun ngajaga struktur susunan 2D.

Pikeun ngarobah standar.paripolah, anjeun tiasa masihan nilai khusus pikeun argumen pad_with opsional.

Contona, pikeun ngarobih rentang B4:B21 kana array 2D kalayan lega maksimum 5 nilai, sareng pad anu terakhir. baris kalayan tanda hubung upami teu aya data anu cekap pikeun ngeusianana, paké rumus ieu:

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

Pikeun ngagentos nilai anu leungit ku senar panjang nol (kosong), rumusna nyaéta:

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

Punten bandingkeun hasilna sareng kabiasaan standar (rumus dina D5) dimana pad_with dileungitkeun:

Gabung sababaraha baris kana rentang 2D

Pikeun ngagabungkeun sababaraha baris misah jadi hiji array 2D tunggal, anjeun mimiti tumpukan baris horizontal maké fungsi HSTACK, lajeng mungkus nilai maké WRAPROWS atawa WRACOLS.

Contona, pikeun ngagabungkeun nilai tina 3 jajar (B5:J5, B7:G7 jeung B9:F9) jeung bungkus kana kolom, masing-masing ngandung 10 niléy, rumusna nyaéta:

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

Pikeun ngagabungkeun niléy tina sababaraha baris jadi hiji Rentang 2D dimana unggal baris ngandung 5 nilai, rumusna kieu:

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

C ombine sababaraha kolom kana array 2D

Pikeun ngagabungkeun sababaraha kolom kana rentang 2D, mimitina anjeun tumpukan éta vertikal ngagunakeun fungsi VSTACK, lajeng bungkus nilai kana baris (WRAPROWS) atawa kolom (WRAPCOLS).

Contona, pikeun ngagabungkeun nilai tina 3 kolom (B5:J5, B7:G7 jeung B9:F9) kana rentang 2D dimana unggal kolom ngandung 10 nilai, rumusna nyaéta:

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

Pikeun ngagabungkeunkolom anu sarua kana rentang 2D dimana unggal baris ngandung 5 nilai, make rumus ieu:

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

Bungkus jeung nyortir array

Dina situasi nalika rentang sumber boga nilai dina urutan acak sawaktos Anjeun hoyong kaluaran diurutkeun, lajengkeun ku cara kieu:

  1. Sortir array awal ku cara nu Anjeun hoyongkeun nganggo fungsi SORT.
  2. Lebetkeun array anu diurutkeun ka WRACOLS atawa WRAPROWS.

Contona, pikeun mungkus rentang B4:B23 kana baris, 4 nilai dina masing-masing, sarta nyortir rentang hasilna ti A nepi ka Z, jieun rumus saperti kieu:

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

Pikeun mungkus rentang anu sarua kana kolom, 10 nilai dina unggal, sarta nyortir kaluaran dumasar abjad, rumusna:

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

Hasilna kasampak kieu. :

Tip. Pikeun ngatur nilai-nilai dina array nu dihasilkeun dina urutan turun , setel argumen katilu ( sort_order ) tina fungsi SORT ka -1.

WRAPCOLS alternatif pikeun Excel 365 - 2010

Dina vérsi Excel anu langkung lami dimana fungsi WRACOLS henteu dirojong, anjeun tiasa ngawangun rumus anjeun nyalira pikeun mungkus nilai tina array hiji diménsi kana kolom. Ieu bisa dilakukeun ku ngagunakeun 5 pungsi béda babarengan.

WRACOLS alternatif pikeun ngarobah hiji baris jadi rentang 2D:

IFERROR(IF(ROW(A1)> n , "" , INDEX( baris_rentang , , ROW(A1) + (KOLOM(A1)-1)* n )), "")

WRACOLS alternatif pikeun ngarobah kolom jadi 2D rentang:

IFERROR(IF(ROW(A1)> n ,"", INDEX( rentang_kolom , ROW(A1) + (KOLUM(A1)-1)* n )), "")

Dimana n nyaeta jumlah maksimum nilai per kolom.

Dina gambar di handap ieu, urang make rumus di handap pikeun ngarobah rentang hiji-baris (D4:J4) kana array tilu-baris.

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

Jeung rumus ieu ngarobah rentang hiji-kolom (B4:B20) kana susunan lima baris:

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

Solusi di luhur niru rumus WRACOLS analog sareng ngahasilkeun hasil anu sami:

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

sareng

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

Mangga émut yén teu sapertos fungsi WRACOLS array dinamis, rumus tradisional nuturkeun pendekatan hiji-rumus-hiji-sél. Janten, rumus munggaran urang diasupkeun dina D8 sareng disalin 3 baris ka handap sareng 3 kolom ka katuhu. Rumus kadua diasupkeun dina D14 sarta disalin 5 baris handap sarta 4 kolom ka katuhu.

Kumaha rumus ieu dianggo

Dina manah duanana rumus, kami nganggo fungsi INDEX anu ngabalikeun nilai tina array anu disayogikeun dumasar kana nomer baris sareng kolom:

INDEX(array, row_num, [column_num])

Salaku urang keur kaayaan hiji-baris array, urang bisa ngaleungitkeun row_num argumen, jadi ingkar kana 1. Trikna nyaeta gaduh col_num diitung sacara otomatis pikeun unggal sél dimana rumusna ditiron. Sareng ieu kumaha urang ngalakukeun ieu:

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

Fungsi ROW ngabalikeun nomer baris rujukan A1, nyaéta 1.

Fungsi COLUMN ngabalikeun nomer kolom tinarujukan A1, nu ogé 1. Subtracting 1 robah jadi enol. Sareng ngalikeun 0 ku 3 masihan 0.

Teras, anjeun tambahkeun 1 anu dipulangkeun ku ROW sareng 0 anu dipulangkeun ku COLUMN sareng janten hasilna 1.

Ku cara ieu, rumus INDEX di luhur. -sél kénca rentang tujuan (D8) ngalaman transformasi ieu:

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

robah jadi

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

sarta mulangkeun nilai tina kolom ka-1 tina susunan anu ditangtukeun, nyaéta "Apel" dina D4.

Lamun rumus ditiron ka sél D9, rujukan sél relatif robah dumasar kana posisi relatif baris jeung kolom bari rujukan rentang mutlak tetep unchanged:

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

robah jadi:

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

jadi:

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

jeung mulangkeun nilai tina Kolom ka-2 tina array anu ditangtukeun, nyaéta "Aprikot" dina E4.

Pungsi IF mariksa jumlah baris jeung lamun éta leuwih badag batan jumlah baris anu anjeun tangtukeun (3 bisi kami) mulihkeun string kosong ( ""), disebutkeun hasil tina fungsi INDEX:

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

Tungtungna, fungsi IFERROR ngalereskeun #REF! kasalahan anu lumangsung nalika rumus ditiron ka sél leuwih ti nu bener diperlukeun.

Rumus kadua nu ngarobah kolom kana rentang 2D jalan kalawan logika sarua. Bédana nyaéta anjeun nganggo kombinasi ROW + COLUMN pikeun ngémutan argumen row_num pikeun INDEX. Parameter col_num henteu diperlukeun dina hal ieu saprak aya nganhiji kolom dina array sumber.

Alternatip WRAPROWS pikeun Excel 365 - 2010

Pikeun mungkus nilai tina array hiji diménsi kana baris dina Excel 2019 jeung saméméhna, Anjeun bisa make alternatif di handap pikeun fungsi WRAPROWS.

Transformasi hiji baris jadi rentang 2D:

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

Robah kolom ka rentang 2D:

IFERROR(IF( COLUMN(A1)> n , "", INDEKS( kolom_rentang , COLUMN(A1)+(ROW(A1)-1)* n )) , "")

Dimana n nyaéta jumlah maksimum nilai per baris.

Dina kumpulan data sampel urang, urang ngagunakeun rumus di handap ieu pikeun ngarobah rentang hiji-baris (D4). :J4) kana rentang tilu kolom. Rumusna asup ka sél D8, terus disalin kana 3 kolom jeung 3 baris.

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

Pikeun ngawangun deui rentang 1 kolom (B4:B20) jadi rentang 5 kolom, lebetkeun rumus di handap ieu dina D14 teras sered kana 5 kolom sareng 4 baris.

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

Dina Excel 365, hasil anu sami tiasa dihontal sareng rumus WRACOLS anu sami:

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

jeung

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

Kumaha ieu rumus jalanna

Intina, ieu rumus jalanna jiga dina conto samemehna. Bédana nyaéta dina cara anjeun nangtukeun koordinat row_num sareng col_num pikeun fungsi INDEX:

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

Pikeun kéngingkeun nomer kolom pikeun luhur. sél kénca dina rentang tujuan (D8), Anjeun nganggo ieuekspresi:

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

nu robah jadi:

1+(1-1)*3

jeung mere 1.

Hasilna, rumus di handap ieu ngabalikeun nilai tina kolom kahiji tina array anu ditangtukeun, nyaéta "Apel":

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

Sajauh ieu, hasilna sami sareng anu sateuacana. conto. Tapi hayu urang tingali naon anu lumangsung dina sél séjén…

Dina sél D9, rujukan sél relatif robah kieu:

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

Jadi, rumusna robah jadi:

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

janten:

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

sareng mulihkeun nilai tina kolom ka-4 tina array anu ditangtukeun, nyaéta "Cherries" dina G4.

Fungsi IF mariksa nomer kolom sareng upami langkung ageung tibatan jumlah kolom anu anjeun atur, ngabalikeun string kosong (""), upami henteu hasil tina fungsi INDEX:

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

Salaku finish touch, IFERROR nyegah #REF! kasalahan tina muncul dina sél "tambahan" lamun anjeun nyalin rumus ka sél leuwih ti nu sabenerna diperlukeun.

WRAPCOLS atawa WRAPROWS fungsi teu jalan

Lamun fungsi "wrap" teu sadia dina Excel anjeun atanapi nyababkeun kasalahan, éta mangrupikeun salah sahiji alesan di handap ieu.

#NAME? kasalahan

Dina Excel 365, hiji #NAME? kasalahan bisa lumangsung alatan anjeun salah ngeja ngaran fungsi urang. Dina vérsi anu sanés, éta nunjukkeun yén fungsina henteu dirojong. Salaku solusi, anjeun tiasa nganggo alternatif WRACOLS atanapi alternatif WRAPROWS.

#VALUE! kasalahan

Kasalahan #VALUE lumangsung lamun

Michael Brown mangrupakeun enthusiast téhnologi dedicated kalawan gairah pikeun nyederhanakeun prosés kompléks ngagunakeun parabot software. Kalayan langkung ti dasawarsa pangalaman dina industri téknologi, anjeunna parantos ngasah kaahlianna dina Microsoft Excel sareng Outlook, ogé Google Sheets sareng Docs. Blog Michael dikhususkeun pikeun ngabagi pangaweruh sareng kaahlianna ka batur, nyayogikeun tip sareng tutorial anu gampang pikeun ningkatkeun produktivitas sareng efisiensi. Naha anjeun profésional berpengalaman atanapi pamula, blog Michael nawiskeun wawasan anu berharga sareng naséhat praktis pikeun ngamangpaatkeun alat parangkat lunak penting ieu.