Satura rādītājs
Šajā pamācībā ir parādīts, kā izmantot pavisam jauno funkciju TEXTSPLIT, lai sadalītu virknes programmā Excel 365 pēc jebkura norādītā norobežotāja.
Var būt dažādas situācijas, kad Excel programmā ir nepieciešams sadalīt šūnas. Agrākās versijās jau bija pieejami vairāki instrumenti, lai veiktu šo uzdevumu, piemēram, Text to Columns un Fill Flash. Tagad mums ir arī īpaša funkcija TEXTSPLIT, kas var sadalīt virkni vairākās šūnās kolonnās vai / un rindās, pamatojoties uz norādītajiem parametriem.
Excel TEXTSPLIT funkcija
Excel funkcija TEXTSPLIT sadala teksta virknes pēc noteikta norobežotāja pa kolonnām un/vai rindām. Rezultāts ir dinamisks masīvs, kas automātiski izplūst vairākās šūnās.
Funkcija var izmantot 6 argumentus, no kuriem tikai pirmie divi ir obligāti.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])teksts (obligāts) - sadalāmais teksts. Var norādīt kā virkni vai šūnu atsauci.
col_delimiter (obligāts) - rakstzīme(-es), kas norāda, kur sadalīt tekstu pa kolonnām. Ja nav norādīts, rindu_delimiteris jādefinē.
rindu_delimiteris (nav obligāts) - rakstzīme(-es), kas norāda, kur sadalīt tekstu pa rindām.
ignore_empty (nav obligāts) - norāda, vai ignorēt tukšas vērtības:
- FALSE (noklusējuma iestatījums) - izveidot tukšas šūnas secīgiem norobežotājiem bez vērtības starp tiem.
- TRUE - ignorēt tukšās vērtības, t. i., neveidot tukšas šūnas diviem vai vairākiem secīgiem norobežotājiem.
match_mode (pēc izvēles) - nosaka norobežotāja lielo un mazo burtu jutību. Pēc noklusējuma ieslēgts.
- 0 (noklusējuma iestatījums) - lielo un mazo burtu atšķirība
- 1 - lielo un mazo burtu un atbilžu
pad_with (nav obligāts) - vērtība, kas jāizmanto trūkstošo vērtību vietā divdimensiju masīvos. Pēc noklusējuma ir #N/A kļūda.
Piemēram, lai A2 teksta virkni sadalītu vairākās šūnās, kā atdalītāju izmantojot komatu un atstarpi, formula ir šāda:
=TEXTSPLIT(A2, ", ")
TEXTSPLIT pieejamība
Funkcija TEXTSPLIT ir pieejama tikai programmā Excel programmā Microsoft 365 (Windows un Mac) un programmā Excel tīmeklī.
Padomi:
- Excel versijās, kurās nav pieejama funkcija TEXTSPLIT (izņemot Excel 365), šūnu sadalīšanai varat izmantot vedni Teksts kolonnās.
- Lai veiktu pretēju uzdevumu, t. i., apvienotu vairāku šūnu saturu vienā, izmantojot noteiktu norobežotāju, ir jāizmanto funkcija TEXTJOIN.
Pamata TEXTSPLIT formula, lai sadalītu šūnu programmā Excel
Vispirms aplūkosim, kā izmantot TEXTSPLIT formulu tās vienkāršākajā formā, lai sadalītu teksta virkni pēc noteikta norobežotāja.
Šūnas sadalīšana horizontāli pāri kolonnām
Lai sadalītu konkrētas šūnas saturu vairākās slejās, ievadiet atsauci uz šūnas, kurā atrodas sākotnējā virkne, lai ievadītu pirmo ( teksts ) argumentu un norobežotāju, kas apzīmē punktu, kurā jāveic sadalīšana otrajam argumentam ( col_delimiter ) arguments.
Piemēram, lai A2 virkni horizontāli atdalītu ar komatu, formula ir šāda:
=TEXTSPLIT(A2, ",")
Kā norobežotāju mēs izmantojam komatu, kas ietverts dubultās pēdiņās (",").
Rezultātā katrs ar komatu atdalītais vienums tiek ievietots atsevišķā slejā:
Šūnas sadalīšana vertikāli pa rindām
Lai sadalītu tekstu vairākās rindās, trešais arguments ( rindu_delimiteris ) ir vieta, kur izvietot norobežotāju. Otrais arguments ( col_delimiter ) šajā gadījumā netiek izmantots.
Piemēram, lai sadalītu A2 vērtības dažādās rindās, formula ir šāda:
=TEXTSPLIT(A2, ,",")
Lūdzu, ņemiet vērā, ka abos gadījumos formula tiek ievadīta tikai vienā šūnā (C2). Blakus esošajās šūnās atgrieztās vērtības izplūst automātiski. Iegūtais masīvs (ko sauc par izplūdes diapazonu) ir izcelts ar zilu apmali, norādot, ka viss, kas tajā atrodas, ir aprēķināts pēc formulas kreisajā augšējā šūnā.
Teksta sadalīšana pēc apakšrindas
Daudzos gadījumos vērtības avota virknē ir atdalītas ar rakstzīmju virkni, piemēram, tipisks piemērs ir komats un atstarpe. Šādā gadījumā kā norobežotāju izmantojiet apakšvirni.
Piemēram, lai tekstu A2 atdalītu vairākās slejās ar komatu un atstarpi, izmantojiet virkni ", ". col_delimiter .
=TEXTSPLIT(A2, ", ")
Šī formula tiek ievietota B2, un pēc tam to kopējiet uz leju, izmantojot tik šūnu, cik nepieciešams.
Sadalīt virkni vienlaicīgi kolonnās un rindās
Lai sadalītu teksta virkni rindās un kolonnās vienlaikus, formulā TEXTSPLIT definējiet abus norobežotājus.
Piemēram, lai A2 teksta virkni sadalītu pa kolonnām un rindām, mēs piedāvājam:
- Vienādības zīme ("=") col_delimiter
- Kārtojums un atstarpe (", ") par rindu_delimiteris
Pilna formula ir šāda:
=TEXTSPLIT(A2, "=", ", ")
Rezultāts ir 2-D masīvs, kas sastāv no 2 kolonnām un 3 rindām:
Atdaliet šūnas ar vairākiem norobežotājiem
Lai apstrādātu vairākus vai nekonsekventus norobežotājus avota virknē, norobežotājam izmantojiet masīva konstantu, piemēram, {"x", "y", "z"}.
Tālāk redzamajā ekrānšāviņā A2 teksta rindu norobežo gan komati (","), gan semikoli (";") ar atstarpēm, gan bez tām. Lai virkni vertikāli sadalītu rindās pēc visiem 4 norobežotāja variantiem, formula ir šāda:
=TEXTSPLIT(A2, , {",",",", ",";",";";"})
Vai arī masīvā var iekļaut tikai komatu (",") un semikolu (";") un pēc tam ar TRIM funkcijas palīdzību noņemt papildu atstarpes:
=TRIM(TEXTSPLIT(A2, , {",",",";;"}))
Teksta sadalīšana, ignorējot tukšas vērtības
Ja virknē ir divi vai vairāki pēc kārtas sekojoši norobežotāji bez vērtības starp tiem, varat izvēlēties, vai šādas tukšās vērtības ignorēt. ignore_empty parametrs, kura noklusējuma vērtība ir FALSE.
Pēc noklusējuma funkcija TEXTSPLIT neignorē tukšas vērtības. Strukturētiem datiem, kā tas ir tālāk dotajā piemērā, noklusējuma uzvedība darbojas labi.
Šajā tabulas paraugā dažās rindās trūkst punktu. TEXTSPLIT formula ar ignore_empty Arguments izlaists vai iestatīts uz FALSE lieliski apstrādā šo gadījumu, radot tukšu šūnu katrai tukšai vērtībai.
=TEXTSPLIT(A2, ", ")
Vai
=TEXTSPLIT(A2, ", ", FALSE)
Rezultātā visas vērtības parādās attiecīgajās slejās.
Ja jūsu virknes satur viendabīgus datus, ir pamatoti ignorēt tukšās vērtības. Šajā nolūkā iestatiet parametru ignore_empty arguments ir TRUE vai 1.
Piemēram, lai sadalītu t zemāk redzamās virknes, katru prasmi ievietojot atsevišķā šūnā bez atstarpēm, formula ir šāda:
=TEXTSPLIT(A2, ", ", ,TRUE)
Šajā gadījumā trūkstošās vērtības starp secīgiem norobežotājiem tiek pilnībā ignorētas:
Šūnu sadalīšana pēc burtu un lielo un mazo burtu dalīšana
Lai kontrolētu norobežotāja lielo un mazo burtu jutību, izmantojiet piekto argumentu, match_mode .
Pēc noklusējuma, match_mode ir iestatīts uz 0, tādējādi TEXTSPLIT lielo un mazo izmēru .
Šajā piemērā skaitļi ir atdalīti ar mazajiem "x" un lielajiem "X" burtiem.
Formulā ar noklusējuma lielo un mazo burtu jutību kā norobežotāju var izmantot tikai mazo burtu "x":
=TEXTSPLIT(A2, " x ")
Lūdzu, pievērsiet uzmanību tam, ka norobežotājam ir atstarpe abās burta " x " pusēs, lai rezultātos novērstu sākuma un beigu atstarpes.
Lai izslēgtu lielo un mazo burtu jutību, ievadiet 1, lai match_mode lai piespiestu TEXTSPLIT formulu ignorēt burtu lielumu:
=TEXTSPLIT(A2, " x ", , , ,1)
Tagad visas virknes tiek pareizi sadalītas pēc jebkura no norobežotāja:
Trūkstošo vērtību izvietošana 2D masīvā
Funkcijas TEXTSPLIT pēdējais arguments, pad_with , noder, ja avota virknē trūkst vienas vai vairāku vērtību. Ja šāda virkne ir sadalīta gan kolonnās, gan rindās, pēc noklusējuma Excel trūkstošo vērtību vietā atgriež #N/A kļūdas, lai neizkropļotu divdimensiju masīva struktūru.
Zemāk redzamajā virknē nav "=" ( col_delimiter ) pēc "Score". Lai saglabātu iegūtā masīva integritāti, TEXTSPLIT blakus "Score" ieraksta #N/A.
Lai rezultātu padarītu lietotājam draudzīgāku, kļūdu #N/A varat aizstāt ar jebkuru vēlamo vērtību. Vienkārši ierakstiet vēlamo vērtību laukā pad_with arguments.
Mūsu gadījumā tas varētu būt defise ("-"):
=TEXTSPLIT(A2, "=", ", ", ", , , ,"-")
Vai arī tukša virkne (""):
=TEXTSPLIT(A2, "=", ", ", ", , , ,"")
Tagad, kad esat uzzinājuši par katra TEXTSPLIT funkcijas argumenta praktisko lietojumu, apspriedīsim dažus progresīvus piemērus, kas var palīdzēt jums tikt galā ar netriviālām problēmām jūsu Excel izklājlapās.
Datu sadalīšana dienās, mēnešos un gados
Lai sadalītu datumu atsevišķās vienībās, vispirms datums jāpārveido tekstā, jo funkcija TEXTSPLIT apstrādā teksta virknes, bet Excel datumi ir skaitļi.
Visvienkāršākais veids, kā pārvērst skaitlisku vērtību tekstā, ir izmantot funkciju TEXT. Tikai pārliecinieties, ka datumam ir norādīts atbilstošs formāta kods.
Mūsu gadījumā formula ir šāda:
=TEXT(A2, "m/d/g/gggg")
Nākamais solis ir ievietot iepriekšminēto funkciju TEXTSPLIT 1. argumentā un ievadīt atbilstošu norobežotāju 2. vai 3. argumentam atkarībā no tā, vai tiek sadalīts pa kolonnām vai rindām. Šajā piemērā datuma vienības ir norobežotas ar slīpsvītrām, tāpēc mēs izmantojam "/". col_delimiter arguments:
=TEXTSPLIT(TEXT(A2, "m/d/g/gggg"), "/")
Sadaliet šūnas un noņemiet noteiktas rakstzīmes
Iedomājieties, ka esat sadalījis garu virkni daļās, taču iegūtajā masīvā joprojām ir dažas nevēlamas rakstzīmes, piemēram, iekavās zemāk redzamajā attēlā:
=TEXTSPLIT(A2, " ", "; ")
Lai atdalītu sākuma un beigu iekavas, ievietojiet divas SUBSTITUTE funkcijas vienu otrā (katrā no tām vienu iekavu aizstājot ar tukšu virkni) un izmantojiet TEXTSPLIT formulu, lai teksts iekšējā SUBSTITUTE arguments:
=SUBSTITUTE(SUBSTITUTE(TEXPLIT(A2, " ", "; "), "(", ""), ")", ""), "")
Padoms. Ja galīgajā masīvā ir pārāk daudz papildu rakstzīmju, varat tās notīrīt, izmantojot kādu no šajā rakstā aprakstītajām metodēm: Kā noņemt nevēlamas rakstzīmes programmā Excel.
Sadalīt virknes, izlaižot noteiktas vērtības
Pieņemsim, ka turpmāk minētās virknes vēlaties sadalīt 4 kolonnās: Vārds , Uzvārds , Rezultāts , un Rezultāts . Problēma ir tā, ka dažās virknēs ir tituls "Mr." vai "Ms.", tāpēc rezultāti ir nepareizi:
Risinājums nav acīmredzams, bet ir pavisam vienkāršs :)
Papildus esošajiem norobežotājiem, kas ir atstarpe (" ") un komats un atstarpe (", "), jūs iekļaujat virknes "Mr. " un "Ms. ". col_delimiter masīva konstantu, lai funkcija teksta atdalīšanai izmantotu pašus virsrakstus. Lai ignorētu tukšas vērtības, iestatiet parametru ignore_empty arguments ir TRUE.
=TEXTSPLIT(A2, {" ",",", ", "Mr. ", "Ms. "}, ,TRUE)
Tagad rezultāti ir pilnīgi perfekti!
TEXTSPLIT alternatīvas
Excel versijās, kurās netiek atbalstīta funkcija TEXTSPLIT, virknes var sadalīt, izmantojot dažādas SEARCH / FIND funkcijas kombinācijas ar LEFT, RIGHT un MID. Jo īpaši:
- Lielo un mazo burtu nesaturoša Meklēšana vai lielo un mazo burtu sensitīva Meklēšana nosaka norobežotāja pozīciju rindā, un
- Funkcijas LEFT, RIGHT un MID iegūst apakšvirzienu pirms, pēc vai starp diviem norobežotāja gadījumiem.
Mūsu gadījumā, lai sadalītu vērtības, kas atdalītas ar komats un atstarpe , formulas ir šādas.
Nosaukuma iegūšana:
=LEFT(A2, SEARCH(",",", A2, 1) -1)
Izvilkt rezultātu:
=MID(A2, SEARCH(",",", A2) + 2, SEARCH(",", A2, SEARCH(",",A2)+1) - SEARCH(",",", A2) - 2)
Lai iegūtu rezultātu:
=RIGHT(A2, LEN(A2) - SEARCH(",", A2, SEARCH(",",", A2) + 1)-1)
Sīkāku formulas loģikas skaidrojumu skatiet sadaļā Kā sadalīt virknes pēc rakstzīmēm vai maskas.
Lūdzu, paturiet prātā, ka atšķirībā no dinamiskā masīva TEXTSPLIT funkcijas šajās formulās tiek izmantota tradicionālā pieeja "viena formula - viena šūna". Jūs ievadāt formulu pirmajā šūnā un pēc tam velkat to lejup pa kolonnu, lai kopētu uz zemāk esošajām šūnām.
Zemāk redzamajā ekrāna attēlā parādīti rezultāti:
Lūk, kā sadalīt šūnas programmā Excel 365, izmantojot TEXTSPLIT vai alternatīvus risinājumus agrākajās versijās. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu emuārā!
Prakses darba burtnīca lejupielādei
TEXTSPLIT funkcija virkņu sadalīšanai - formulu piemēri (.xlsx fails)