Excel TOCOL funkcija, lai pārveidotu diapazonu uz vienu kolonnu

  • Dalīties Ar Šo
Michael Brown

Vienkāršs veids, kā pārveidot masīvu vai diapazonu par kolonnu, izmantojot funkciju TOCOL.

Iespēja transponēt datus no kolonnām uz rindām un otrādi Excel programmā ir jau ilgu laiku. Taču šūnu diapazona pārveidošana vienā kolonnā bija sarežģīts uzdevums. Tagad tas beidzot mainās. Microsoft ir ieviesusi jaunu funkciju TOCOL, ar kuru var vienā mirklī veikt masīva pārveidošanu uz kolonnu. Tālāk ir saraksts ar uzdevumiem, kurus šī jaunā funkcija var viegli atrisināt.

    Excel TOCOL funkcija

    Excel funkcija TOCOL pārveido masīvu vai šūnu diapazonu vienā kolonnā.

    Funkcijai ir trīs argumenti, taču ir nepieciešams tikai pirmais no tiem.

    TOCOL(masīvs, [ignorēt], [scan_by_column])

    Kur:

    Masīvs (obligāts) - masīvs vai diapazons, ko pārveidot par kolonnu.

    Ignorēt (nav obligāts) - nosaka, vai ignorēt tukšos laukumus un/vai kļūdas. Var būt viena no šīm vērtībām:

    • 0 vai izlaists (noklusējums) - saglabāt visas vērtības
    • 1 - ignorēt tukšos laukumus
    • 2 - ignorēt kļūdas
    • 3 - ignorējiet tukšos laukumus un kļūdas

    Scan_by_column (nav obligāts) - nosaka, vai masīvs tiks skenēts horizontāli vai vertikāli:

    • FALSE vai izlaists (noklusējuma iestatījums) - skenē masīvu pēc rindas no kreisās uz labo.
    • TRUE - skenē masīvu pēc kolonnas no augšas uz leju.

    Padomi:

    • Lai pārveidotu masīvu vienā rindā, izmantojiet funkciju TOROW.
    • Lai veiktu pretēju transformāciju no kolonnas uz masīvu, izmantojiet funkciju WRAPCOLS, lai ietītu pēc kolonnas, vai funkciju WRAPROWS, lai ietītu pēc rindas.
    • Lai transponētu masīvu no horizontālas uz vertikālu vai otrādi, t. i., mainītu rindas uz kolonnām, izmantojiet funkciju TRANSPOSE.

    TOCOL pieejamība

    TOCOL ir jauna funkcija, kas tiek atbalstīta programmā Excel Microsoft 365 (operētājsistēmām Windows un Mac) un programmā Excel tīmeklī.

    Pamata TOCOL formula, lai pārveidotu diapazonu par kolonnu

    TOCOL formulai tās vienkāršākajā formā ir nepieciešams tikai viens arguments - masīvs Piemēram, lai divdimensiju masīvu, kas sastāv no 3 kolonnām un 4 rindām, ievietotu vienā kolonnā, formula ir šāda:

    =TOCOL(A2:C5)

    Formula tiek ievadīta tikai vienā šūnā (šajā piemērā E2) un automātiski izplūst uz zemāk esošajām šūnām. Excel terminoloģijā rezultātu sauc par izplūdes diapazonu.

    Kā šī formula darbojas:

    Tehniski diapazons A2:C5 vispirms tiek pārveidots par divdimensiju masīvu. Lūdzu, ievērojiet ar semikolu atdalītās rindas un ar komatiem norobežotās kolonnas:

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

    Funkcija TOCOL skenē masīvu no kreisās puses uz labo un pārveido to viendimensiju vertikālā masīvā:

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

    Rezultāts tiek ievietots šūnā E2, no kuras tas izplūst uz zemāk esošajām šūnām.

    Kā lietot funkciju TOCOL programmā Excel - formulas piemēri

    Lai labāk izprastu funkcijas TOCOL iespējas un uzdevumus, ko tā var veikt, aplūkosim dažus formulas piemērus.

    Pārveidot masīvu kolonnā, ignorējot tukšos laukumus un kļūdas

    Kā varēja pamanīt iepriekšējā piemērā, noklusējuma formula TOCOL saglabā visas vērtības no avota masīva, ieskaitot tukšās šūnas un kļūdas.

    Iegūtajā masīvā tukšās šūnas tiek attēlotas ar nulli, kas var būt diezgan mulsinoši, jo īpaši, ja sākotnējā masīvā ir 0 vērtības. Risinājums ir šāds izlaist tukšos laukumus . Šim nolūkam iestatiet 2. argumentu uz 1:

    =TOCOL(A2:C5, 1)

    Uz ignorēt kļūdas , iestatiet 2. argumentu uz 2:

    =TOCOL(A2:C5, 2)

    Izslēgt abus, tukšie lauki un kļūdas , izmantojiet 3, lai ignorēt arguments:

    =TOCOL(A2:C5, 3)

    Masu skenēšana horizontāli vai vertikāli

    Ar noklusējuma scan_by_column (FALSE vai izlaists), funkcija TOCOL skenē masīvu horizontāli pa rindām. Lai apstrādātu vērtības pa kolonnām, šim argumentam iestatiet TRUE vai 1. Piemēram:

    =TOCOL(A2:C5, ,TRUE)

    Ievērojiet, ka abos gadījumos atgrieztie masīvi ir vienāda lieluma, bet vērtības ir sakārtotas atšķirīgā secībā.

    Vairāku diapazonu apvienošana vienā slejā

    Ja jums ir darīšana ar vairākiem nesaskanīgiem diapazoniem, tad vispirms varat vertikāli apvienot diapazonus vienā masīvā, izmantojot funkciju VSTACK, un pēc tam izmantot TOCOL, lai pārveidotu apvienoto masīvu par kolonnu.

    Pieņemot, ka pirmais diapazons ir A2:C4 un otrais diapazons ir A8:C9, formula ir šāda:

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

    Šī formula parāda noklusējuma uzvedību - apvienotos masīvus nolasa horizontāli no kreisās puses uz labo, kā parādīts attēlā attēlā attēlotajā E slejā.

    Lai nolasītu vērtības vertikāli no augšas uz leju, iestatiet TOCOL 3. argumentu uz TRUE:

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

    Lūdzu, pievērsiet uzmanību tam, ka šajā gadījumā formula vispirms atgriež vērtības no abu masīvu A slejas, pēc tam no B slejas un tā tālāk. Iemesls ir tāds, ka TOCOL skenē vienu sakrautu masīvu, nevis sākotnējos atsevišķos diapazonus.

    Ja jūsu darbības loģikai ir nepieciešama sākotnējo diapazonu sakārtošana horizontāli, nevis vertikāli, VSTACK vietā izmantojiet HSTACK funkciju.

    Lai pievienotu katru nākamo masīvu iepriekšējā masīva labajā pusē un nolasītu apvienotos masīvus horizontāli, formula ir šāda:

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

    Lai pievienotu katru nākamo masīvu pa labi no iepriekšējā masīva un apvienotos masīvus skenētu vertikāli, formula ir šāda:

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

    Unikālu vērtību iegūšana no vairāku kolonnu diapazona

    Ar Excel UNIQUE funkciju var viegli atrast unikālas vērtības vienā slejā vai rindā, kā arī atgriezt unikālas rindas, taču tā nevar iegūt unikālas vērtības no vairāku sleju masīva. Risinājums ir izmantot to kopā ar TOCOL funkciju.

    Piemēram, lai iegūtu visas dažādās (atšķirīgās) vērtības no diapazona A2:C7, formula ir šāda:

    =UNIQUE(TOCOL(A2:C7))

    Turklāt iepriekš minēto formulu var ietvert funkcijā SORT, lai atgrieztā masīva izkārtojumu sakārtotu alfabētiskā secībā:

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

    Kā konvertēt diapazonu uz kolonnu programmā Excel 365 - 2010

    Excel versijās, kurās netiek atbalstīta funkcija TOCOL, pastāv vairāki alternatīvi veidi, kā šūnu diapazonu pārveidot par kolonnu. Šie risinājumi ir diezgan sarežģīti, bet jebkurā gadījumā darbojas.

    Lai nolasītu diapazonu pa rindām:

    INDEX( diapazons , KVANTIENTS(RINDA(A1)-1, KOLONNAS( diapazons ))+1, MOD(RINDA(A1)-1, KOLONNAS( diapazons ))+1)

    Lai nolasītu diapazonu pa kolonnām:

    INDEX( diapazons , MOD(RINDA(A1)-1, RINDA( diapazons ))+1, KOEFICIENTS(RINDA(A1)-1, RINDA( diapazons ))+1)

    Mūsu parauga datu kopai formulas ir šādas:

    Diapazona skenēšana horizontāli no kreisās uz labo pusi :

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

    Šī formula ir līdzvērtīga funkcijai TOCOL ar trešo argumentu FALSE vai izlaistu:

    =TOCOL(A2:C5)

    Diapazona skenēšana vertikāli no augšas uz leju :

    =INDEX($A$2:$C$5, MOD(RINDA(A1)-1, RINDAS($A$2:$C$5))+1, KVANTIENTS(RINDA(A1)-1, RINDAS($A$2:$C$5))+1)

    Šī formula ir salīdzināma ar funkciju TOCOL, kuras 3. argumentam ir iestatīta vērtība TRUE:

    =TOCOL(A2:C5, ,TRUE)

    Atšķirībā no TOCOL alternatīvās formulas jāievada katrā šūnā, kurā vēlaties, lai parādās rezultāti. Mūsu gadījumā formulas tiek ievadītas šūnās E2 (pēc rindas) un G2 (pēc kolonnas) un pēc tam tiek kopētas uz leju līdz 13. rindai.

    Ja formulas tiek kopētas uz vairāk rindām, nekā nepieciešams, "papildu" šūnās parādīsies #REF! kļūda. Lai to novērstu, formulas var ievietot IFERROR funkcijā šādi:

    =IFERROR(INDEX($A$2:$C$5, QUOCIENT(RINDA(A1)-1, KOLONNAS($A$2:$C$5))+1, MOD(RINDA(A1)-1, KOLONNAS($A$2:$C$5))+1), "")

    Ievērojiet, ka, lai formulas tiktu kopētas pareizi, mēs bloķējam diapazonu, izmantojot absolūtās šūnu atsauces ($A$2:$C$5). Tā vietā var izmantot nosauktu diapazonu.

    Kā šīs formulas darbojas

    Zemāk ir detalizēti sadalīta pirmā formula, kas sakārto šūnas pēc rindas:

    =INDEX($A$2:$C$5, QUOTIENT(A1 RINDAS)-1, KOLONNAS($A$2:$C$5))+1, MOD(A1 RINDAS)-1, KOLONNAS($A$2:$C$5))+1).

    Ideja ir izmantot funkciju INDEX, lai atgrieztu noteiktas šūnas vērtību, pamatojoties uz tās relatīvo rindas un kolonnas numuru diapazonā.

    Portāls rindas numurs aprēķina, izmantojot šo kombināciju:

    KOEFICIENTS(RINDA(A1)-1, KOLONNAS($A$2:$C$5))+1

    QUOTIENT atgriež dalījuma veselu skaitļu daļu.

    Vietnei skaitītājs , jūs izmantojat ROW(A1)-1, kas atgriež kārtas numuru no 0 E2 (pirmā šūna, kurā ievadīta formula) līdz 11 E13 (pēdējā šūna, kurā ievadīta formula).

    Portāls saucējs brough by COLUMNS($A$2:$C$5)) ir konstants un vienāds ar kolonnu skaitu jūsu diapazonā (mūsu gadījumā 3).

    Tagad, ja pārbaudīsiet QUOTIENT rezultātu pirmajām 3 šūnām (E2:E4), redzēsiet, ka tas ir vienāds ar 0 (jo dalījuma veselskaitliskā daļa ir nulle). Pievienojot 1, iegūstiet rindas numuru 1.

    Nākamajām 3 šūnām (E5:E5) QUOTIENT atgriež 1, un operācija +1 nodrošina rindas numuru 2. Un tā tālāk.

    Citiem vārdiem sakot, šī formulas daļa izveido atkārtojošu skaitļu secību, piemēram, 1,1,1,1,2,2,2,2,2,3,3,3,3,4,4,4,... Katrs skaitlis atkārtojas tik reižu, cik kolonnu ir jūsu diapazonā.

    Lai aprēķinātu kolonnas numurs , jūs izveidojat atbilstošu numuru secību, izmantojot funkciju MOD:

    MOD(RINDA(A1)-1, KOLONNAS($A$2:$C$5))+1

    Tā kā mūsu diapazonā (A2:C5) ir 3 kolonnas, secībai jābūt 1,2,3,1,2,3,...

    MOD funkcija atgriež atlikumu pēc dalīšanas.

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

    kļūst

    MOD(1-1, 3)+1)

    un atgriež 1.

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

    kļūst

    MOD(2-1, 3)+1)

    un atgriež 2.

    Ja ir noteikti rindas un kolonnas numuri, INDEX bez problēmām iegūst vajadzīgo vērtību.

    Elementā E2 INDEX($A$2:$C$5, 1, 1) tiek atgriezta vērtība no 1. rindas un 1. slejas norādītajā diapazonā, t. i., no šūnas A2.

    Elementā E3 INDEX($A$2:$C$5, 1, 2) atgriež vērtību no 1. rindas un 2. slejas, t. i., no šūnas B2.

    Un tā tālāk.

    Otrā formula, kas skenē diapazonu pēc kolonnas, darbojas līdzīgi. Atšķirība ir tāda, ka tā izmanto MOD, lai iegūtu rindas numuru, un QUOTIENT, lai iegūtu kolonnas numuru.

    TOCOL funkcija nedarbojas

    Ja funkcija TOCOL rada kļūdu, visticamāk, tas ir viens no šiem iemesliem:

    TOCOL nav atbalstīta jūsu programmā Excel

    Ja saņemat kļūdu #NAME?, vispirms jāpārbauda funkcijas nosaukuma pareizā rakstība. Ja nosaukums ir pareizs, bet kļūda saglabājas, funkcija nav pieejama jūsu Excel versijā. Šādā gadījumā apsveriet iespēju izmantot TOCOL alternatīvu.

    Mārijs ir pārāk liels

    Kļūda #NUM norāda, ka masīvs nevar iekļauties kolonnā. Tipisks gadījums ir, ja atsaucaties uz veselām kolonnām vai rindām.

    Ja rodas #SPILL kļūda, pārbaudiet, vai ailē, kurā ievadīta formula, ir pietiekami daudz tukšu šūnu, lai tās varētu aizpildīt ar rezultātiem. Ja šūnas ir vizuāli tukšas, pārliecinieties, vai tajās nav atstarpju un citu rakstzīmju, kas nav drukas zīmes. Lai iegūtu vairāk informācijas, skatiet sadaļu Kā novērst #SPILL kļūdu programmā Excel.

    Lūk, kā varat izmantot funkciju TOCOL programmā Excel 365 un alternatīvus risinājumus iepriekšējās versijās, lai pārveidotu divdimensiju masīvu par vienu kolonnu. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!

    Prakses darba burtnīca

    Excel TOCOL funkcija - formulas piemēri (.xlsx fails)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.