Excel TOCOL function upang i-convert ang range sa isang column

  • Ibahagi Ito
Michael Brown

Isang madaling paraan upang gawing column ang isang array o range gamit ang TOCOL function.

Ang kakayahang maglipat ng data mula sa mga column patungo sa mga row at pabaliktad ay nasa Excel na isang sandali. Ngunit ang pag-convert ng isang hanay ng mga cell sa isang solong hanay ay isang nakakalito na gawain upang i-crack. Ngayon, sa wakas ay nagbabago na. Ipinakilala ng Microsoft ang isang bagong function, na tinatawag na TOCOL, na maaaring gumawa ng array-to-column transformation sa isang blink. Nasa ibaba ang isang listahan ng mga gawain na madaling malutas ng bagong function na ito.

    Excel TOCOL function

    Ang TOCOL function sa Excel ay nagko-convert ng array o hanay ng mga cell sa iisang column.

    Ang function ay tumatagal ng tatlong argumento, ngunit ang una lang ang kailangan.

    TOCOL(array, [ignore], [scan_by_column])

    Saan:

    Array (kinakailangan) - isang array o range na i-transform sa isang column.

    Balewalain (opsyonal) - tumutukoy kung babalewalain ang mga blangko o/at mga error. Maaaring isa sa mga value na ito:

    • 0 o tinanggal (default) - panatilihin ang lahat ng value
    • 1 - huwag pansinin ang mga blangko
    • 2 - huwag pansinin ang mga error
    • 3 - huwag pansinin ang mga blangko at error

    Scan_by_column (opsyonal) - tinutukoy kung i-scan ang array nang pahalang o patayo:

    • FALSE o tinanggal (default) - i-scan ang array ayon sa hilera mula kaliwa hanggang kanan.
    • TRUE - i-scan ang array ayon sa column mula sa itaas hanggang ibaba.

    Mga Tip:

    • Upang i-convert ang array sa isang row, gamitin ang TOROWfunction.
    • Upang gawin ang kabaligtaran na column-to-array transformation, gamitin ang alinman sa WRAPCOLS function upang i-wrap ayon sa column o ang WRAPROWS function na i-wrap ayon sa row.
    • Upang i-transpose ang isang array mula horizontal patungo sa vertical o vice versa, ibig sabihin, baguhin ang mga row sa mga column, gamitin ang TRANSPOSE function.

    TOCOL availability

    Ang TOCOL ay isang bagong function, na sinusuportahan sa Excel para sa Microsoft 365 (para sa Windows at Mac) at Excel para sa web.

    Basic TOCOL formula para gawing column ang range

    Ang TOCOL formula sa pinakasimpleng anyo nito ay nangangailangan lamang ng isang argument - array . Halimbawa, upang maglagay ng two-dimensional array na binubuo ng 3 column at 4 na row sa isang column, ang formula ay:

    =TOCOL(A2:C5)

    Ang formula ay ipinapasok lamang sa isang cell (E2 sa halimbawang ito) at awtomatikong tumatapon sa mga cell sa ibaba. Sa mga tuntunin ng Excel, ang resulta ay tinatawag na spill range.

    Paano gumagana ang formula na ito:

    Sa teknikal, ang hanay na A2:C5 ay unang na-convert sa isang two-dimensional na array. Pakipansin ang mga row na pinaghihiwalay ng semicolon at mga column na may comma-delimited:

    {"Apple","Banana","Cherry";1,0,3;4,#N/A,6;7,8,9}

    Ini-scan ng TOCOL function ang array mula kaliwa pakanan at ginagawa itong one-dimensional vertical array:

    {"Apple";"Banana";"Cherry";1;0;3;4;#N/A;6;7;8;9}

    Ang resulta ay inilalagay sa cell E2, kung saan ito lumalabas sa ibabang mga cell.

    Paano gamitin ang TOCOL function sa Excel - mga halimbawa ng formula

    Upang magkaroon ng higit na pang-unawa samga posibilidad ng pagpapaandar ng TOCOL at kung anong mga gawain ang maaari nitong saklawin, tingnan natin ang ilang halimbawa ng formula.

    Ibahin ang hanay sa hanay na binabalewala ang mga blangko at error

    Gaya ng maaaring napansin mo sa nakaraang halimbawa , pinapanatili ng default na formula ng TOCOL ang lahat ng mga value mula sa source array, kabilang ang mga blangkong cell at mga error.

    Sa resultang array, ang mga walang laman na cell ay kinakatawan ng mga zero, na maaaring medyo nakakalito, lalo na kung ang orihinal na array ay may 0 halaga. Ang solusyon ay laktawan ang mga blangko . Para dito, itinakda mo ang 2nd argument sa 1:

    =TOCOL(A2:C5, 1)

    Para balewala ang mga error , itakda ang 2nd argument sa 2:

    =TOCOL(A2:C5, 2)

    Para ibukod ang pareho, mga blangko at error , gumamit ng 3 para sa balewala argument:

    =TOCOL(A2:C5, 3)

    I-scan ang array nang pahalang o patayo

    Gamit ang default na argumento na scan_by_column (FALSE o inalis), ini-scan ng TOCOL function ang array nang pahalang ayon sa hilera. Upang iproseso ang mga value ayon sa column, itakda ang argument na ito sa TRUE o 1. Halimbawa:

    =TOCOL(A2:C5, ,TRUE)

    Pansinin na, sa parehong mga kaso, ang mga ibinalik na array ay magkapareho ang laki, ngunit ang mga halaga ay nakaayos sa ibang pagkakasunod-sunod.

    Pagsamahin ang maraming hanay sa isang column

    Kung nakikipag-ugnayan ka sa ilang hindi magkadikit na hanay, maaari mo munang pagsamahin ang mga hanay nang patayo sa isang array sa tulong ng VSTACK function, at pagkatapos ay gamitin ang TOCOL upang gawing column ang pinagsamang array.

    Ipagpalagay na ang unang hanay ay A2:C4 at ang pangalawang hanay ay A8:C9, ang formula ay kunin ang form na ito:

    =TOCOL(VSTACK(A2:C4, A8:C9))

    Ang formula na ito ay nagpapakita ng default na gawi - binabasa ang pinagsamang mga array nang pahalang mula sa kaliwa pakanan gaya ng ipinapakita sa column E sa larawan sa ibaba.

    Para basahin ang mga value nang patayo mula sa itaas hanggang sa ibaba, itinakda mo ang 3rd argument ng TOCOL sa TRUE:

    =TOCOL(VSTACK(A2:C4, A8:C9), ,TRUE)

    Mangyaring bigyang-pansin na, sa kasong ito, ang formula ay unang nagbabalik ng mga halaga mula sa column A ng parehong array, pagkatapos ay mula sa column B, at iba pa. Ang dahilan ay ang TOCOL ay nag-scan ng isang nakasalansan na hanay, hindi ang orihinal na mga indibidwal na hanay.

    Kung ang lohika ng iyong negosyo ay nangangailangan ng pagsasalansan ng mga orihinal na hanay nang pahalang sa halip na patayo, pagkatapos ay gamitin ang HSTACK function sa halip na VSTACK.

    Upang idagdag ang bawat kasunod na array sa kanan ng nakaraang array at basahin ang pinagsamang mga array nang pahalang, ang formula ay:

    =TOCOL(HSTACK(A2:C4, A8:C10))

    Upang idagdag ang bawat kasunod na array sa kanan ng nakaraang array at i-scan ang pinagsamang array nang patayo, ang formula ay:

    =TOCOL(HSTACK(A2:C4, A8:C10), ,TRUE)

    I-extract ang mga natatanging value mula sa isang multi-column range

    Ang Excel UNIQUE function ay madaling makakahanap ng mga unique sa iisang column o row pati na rin ang pagbabalik ng mga natatanging row, ngunit hindi nito makukuha ang mga natatanging value mula sa isang multi-column array. Ang solusyon ay gamitin ito kasama ng TOCOL function.

    Halimbawa, para kunin ang lahat ng iba't ibang (natatanging) value mula sa rangeA2:C7, ang formula ay:

    =UNIQUE(TOCOL(A2:C7))

    Bukod pa rito, maaari mong ibalot ang formula sa itaas sa SORT function upang ayusin ang ibinalik na array sa alphabetic order:

    =SORT(UNIQUE(TOCOL(A2:C7)))

    Paano i-convert ang range sa column sa Excel 365 - 2010

    Sa mga bersyon ng Excel kung saan hindi suportado ang TOCOL function, mayroong ilang alternatibong paraan upang gawing column ang isang hanay ng mga cell. Medyo nakakalito ang mga solusyong ito, ngunit gumagana pa rin.

    Upang basahin ang hanay ayon sa hilera:

    INDEX( range , QUOTIENT(ROW(A1)-1, COLUMNS( range ))+1, MOD(ROW(A1)-1, COLUMNS( range ))+1)

    Upang basahin ang range ayon sa column:

    INDEX( range , MOD(ROW(A1)-1, ROWS( range ))+1, QUOTIENT(ROW(A1)-1, ROWS( range ))+1 )

    Para sa aming sample na dataset, ang mga formula ay ang mga sumusunod:

    Upang i-scan ang hanay pahalang mula kaliwa hanggang kanan :

    =INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)

    Ang formula na ito ay katumbas ng TOCOL function na ang 3rd argument ay nakatakda sa FALSE o inalis:

    =TOCOL(A2:C5)

    Upang i-scan ang range patayo mula sa itaas hanggang sa ibaba :

    =INDEX($A$2:$C$5, MOD(ROW(A1)-1, ROWS($A$2:$C$5))+1, QUOTIENT(ROW(A1)-1, ROWS($A$2:$C$5))+1)

    Ang formula na ito ay maihahambing sa TOCOL function na ang 3rd argument ay nakatakda sa TRUE:

    =TOCOL(A2:C5, ,TRUE)

    Hindi tulad ng TOCOL, ang mga alternatibong formula ay dapat ilagay sa bawat cell kung saan mo gustong lumabas ang mga resulta. Sa aming kaso, ang mga formula ay napupunta sa mga cell E2 (sa pamamagitan ng row) at G2 (sa pamamagitan ng column), at pagkatapos ay kinokopya pababa sa row 13.

    Kung ang mga formula ay kinopya sa mas maraming row kaysa sa kinakailangan, isang#REF! lalabas ang error sa "dagdag" na mga cell. Upang maiwasang mangyari ito, maaari mong i-nest ang mga formula sa function na IFERROR tulad nito:

    =IFERROR(INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1), "")

    Pansinin na para makopya nang tama ang mga formula, ni-lock namin ang range gamit ang mga absolute cell reference ($ A$2:$C$5). Sa halip, maaari kang gumamit ng pinangalanang hanay.

    Paano gumagana ang mga formula na ito

    Sa ibaba ay isang detalyadong break-down ng unang formula na nag-aayos ng mga cell ayon sa row:

    =INDEX($A$2:$C$5, QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1, MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1)

    Ang ideya ay gamitin ang function na INDEX upang ibalik ang halaga ng isang partikular na cell batay sa mga kaugnay nitong numero ng row at column sa hanay.

    Ang numero ng row ay kinakalkula ng kumbinasyong ito :

    QUOTIENT(ROW(A1)-1, COLUMNS($A$2:$C$5))+1

    QUOTIENT ay nagbabalik ng integer na bahagi ng isang dibisyon.

    Para sa numerator , ginagamit mo ang ROW(A1)-1, na nagbabalik ng isang serial number mula 0 sa E2 (unang cell kung saan ipinasok ang formula) hanggang 11 sa E13 (ang huling cell kung saan ipinasok ang formula).

    Ang denominator ay dinadala ng COLUMNS($A $2:$C$5)) ay pare-pareho at katumbas ng bilang ng mga column sa iyong hanay (3 sa aming kaso).

    Ngayon, kung titingnan mo ang resulta ng QUOTIENT para sa unang 3 cell (E2:E4) , makikita mo na ito ay katumbas ng 0 (dahil ang integer na bahagi ng dibisyon ay zero). Ang pagdaragdag ng 1 ay nagbibigay ng row number 1.

    Para sa susunod na 3 cell (E5:E5), QUOTIENT ay nagbabalik ng 1, at ang +1 operation ay naghahatid ng row number 2. At iba pa.

    Sa madaling salita, ang bahaging ito ng formula ay lumilikha ng paulit-ulitpagkakasunud-sunod ng numero gaya ng 1,1,1,2,2,2,3,3,3,4,4,4,... Ang bawat numero ay umuulit nang kasing dami ng may mga column sa iyong hanay.

    Para sa kalkulahin ang numero ng column , bubuo ka ng naaangkop na pagkakasunod-sunod ng numero gamit ang MOD function:

    MOD(ROW(A1)-1, COLUMNS($A$2:$C$5))+1

    Dahil mayroong 3 column sa aming hanay (A2:C5), ang ang sequence ay dapat na 1,2,3,1,2,3,…

    Ibinabalik ng MOD function ang natitira pagkatapos ng division.

    Sa E2, MOD(ROW(A1)-1, COLUMNS ($A$2:$C$5))+1)

    ay naging

    MOD(1-1, 3)+1)

    at nagbabalik ng 1.

    Sa E3, ang MOD(ROW(A2)-1, COLUMNS($A$2:$C$5))+1)

    ay naging

    MOD(2-1, 3) +1)

    at ibinabalik ang 2.

    Kapag naitatag ang mga numero ng row at column, walang problema ang INDEX sa pagkuha ng kinakailangang halaga.

    Sa E2, INDEX($A$2) :$C$5, 1, 1) ay nagbabalik ng value mula sa 1st row at sa 1st column ng reference na range, ibig sabihin, mula sa cell A2.

    Sa E3, INDEX($A$2:$C$5, 1 , 2) ibinabalik ang value mula sa 1st row at sa 2nd column, ibig sabihin, mula sa cell B2.

    At iba pa.

    Ang pangalawang formula na nag-scan sa range ng c olumn, gumagana sa katulad na paraan. Ang kaibahan ay gumagamit ito ng MOD para makuha ang row number at QUOTIENT para makuha ang column number.

    TOCOL function ay hindi gumagana

    Kung ang TOCOL function ay naghagis ng error, ito ay malamang na upang maging isa sa mga kadahilanang ito:

    Hindi sinusuportahan ang TOCOL sa iyong Excel

    Kapag nakakuha ka ng #NAME? error, ang tamang spelling ng pangalan ng function ang unang dapat gawinsuriin. Kung tama ang pangalan ngunit nagpapatuloy ang error, hindi available ang function sa iyong bersyon ng Excel. Sa kasong ito, isaalang-alang ang paggamit ng alternatibong TOCOL.

    Masyadong malaki ang array

    Ang isang #NUM na error ay nagpapahiwatig na ang array ay hindi maaaring magkasya sa isang column. Ang karaniwang kaso ay kapag nagre-refer ka sa buong column o row.

    Walang sapat na mga cell na walang laman

    Kapag nagkaroon ng #SPILL error, tingnan kung ang column kung saan inilagay ang formula ay may sapat na walang laman na mga cell upang mapunan ng mga resulta. Kung ang mga cell ay biswal na blangko, siguraduhing walang mga puwang at iba pang hindi naka-print na mga character sa mga ito. Para sa higit pang impormasyon, tingnan ang Paano ayusin ang #SPILL error sa Excel.

    Ganyan mo magagamit ang TOCOL function sa Excel 365 at mga alternatibong solusyon sa mga naunang bersyon upang i-transform ang isang 2-dimensional na array sa isang column. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!

    Practice workbook

    Excel TOCOL function - mga halimbawa ng formula (.xlsx file)

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.