Přejít k hlavnímu obsahu

Opak Concatenate (rozdělení buněk) v Excelu – 4 snadné způsoby

Autor: Xiaoyang Naposledy změněno: 2024-01-26

Funkce Concatenate v Excelu se používá ke sloučení obsahu více buněk do jedné buňky, ale někdy může být potřeba udělat opak, tedy rozdělit obsah jedné buňky do více buněk. Tato operace je velmi užitečná pro analýzu a organizaci dat. Tento článek představí čtyři jednoduché způsoby, jak toho dosáhnout, které vám pomohou efektivněji spravovat data v Excelu, ať už jste začátečník nebo pokročilý uživatel.

Proveďte opak CONCATENATE v Excelu


Pomocí vzorců proveďte opak CONCATENATE

Chcete-li provést opak funkce CONCATENATE, můžete použít vzorce, které pomáhají rozdělit textové řetězce do více buněk na základě určitého oddělovače.

  1. Zadejte nebo zkopírujte následující vzorec do prázdné buňky, kam chcete umístit výsledek, a poté přetažením úchytu výplně přímo k buňkám vyplňte tento vzorec a hodnoty buněk v buňce A2 byly rozděleny do samostatných buněk, viz snímek obrazovky:
    =TRIM(MID(SUBSTITUTE($A2," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
    Poznámka: Ve výše uvedeném vzorci můžete také rozdělit hodnoty buněk do více buněk pomocí různých oddělovačů. Jednoduše vyměňte mezera mezi prvními uvozovkami s oddělovačem dle vašeho výběru.
  2. Poté pokračujte v tažení úchytu výplně dolů do oblasti buněk, kde chcete tento vzorec použít. Pokud tak učiníte, všechny hodnoty buněk se rozdělí do samostatných sloupců, jak je znázorněno na následujícím snímku obrazovky:
Tip: Vzorec pro Excel 365

Pokud používáte Excel 365, najdete jednodušší a efektivnější funkci - TEXTSPLIT který je k dispozici pro rozdělení dat do více sloupců.

  1. Po stisknutí použijte následující vzorec vstoupit klíč, každá položka oddělená mezerou se automaticky přesune do samostatného sloupce, viz snímek obrazovky:
    =TEXTSPLIT(A2, " ")
  2. Dále vyberte buňky obsahující výsledek a poté přetáhněte úchyt výplně dolů, abyste použili vzorec a získali zbývající výsledky, viz snímek obrazovky:

Proveďte opak CONCATENATE pomocí výkonné funkce

Kutools pro Excel poskytuje uživatelsky přívětivý Rozdělit buňky Pomocí této chytré funkce můžete rychle rozdělit obsah buňky do více sloupců nebo řádků na základě libovolného oddělovače, jak potřebujete.

Poznámka: Pokud chcete použít toto Rozdělit buňky funkce, prosím stáhnout a nainstalovat Kutools pro Excel jako první.

Po stažení a instalaci Kutools pro Excel, klikněte na Kutools > Sloučit a rozdělit > Rozdělit buňky to povolit Rozdělit buňky Vlastnosti. V dialogovém okně nastavte níže uvedené možnosti:

  1. klikněte vyberte seznam dat, který chcete oddělit Dělený rozsah sekce;
  2. Pod Styl vyberte část Rozdělit na sloupce volba;
  3. z Rozdělit vyberte prosím oddělovač, podle kterého chcete rozdělit obsah buňky. Tady si vyberu space;
  4. Potom klepněte na tlačítko OK tlačítko;
  5. V jiném poli výzvy klepněte na buňku, kam chcete umístit výsledek;
  6. klikněte OK získat výsledek.
Poznámka: Chcete-li použít tuto funkci, prosím stáhnout a nainstalovat Kutools pro Excel jako první.

Proveďte opak CONCATENATE s funkcí Flash Fill

Excel 2013 a novější verze představily pozoruhodnou funkci známou jako Flash Fill. Tento nástroj vám nejen pomůže automaticky vyplnit buňky daty, ale také vám umožní hladce rozdělit obsah buněk. V této části prozkoumám, jak používat funkci Flash Fill k rozdělení dat v Excelu.

  1. Do sousední buňky (B2) vedle sloupce původních dat, kde chcete data rozdělit, zadejte požadované křestní jméno – Lucky. Poté stiskněte vstoupit klíč pro přechod do další buňky. Viz snímek obrazovky:
  2. Poté stiskněte Ctrl + E k naplnění zbytku buněk viz snímek obrazovky:
  3. Postupujte stejným způsobem pro sloupce Příjmení a Narozeniny a výsledek získáte jako ukázku níže:
Poznámky:
  • Flash Fill vyžaduje, aby výstupní data sousedila s původními daty bez jakýchkoli prázdných sloupců mezi nimi.
  • Výsledky získané z funkce Flash Fill jsou statické, což znamená, že pokud dojde k aktualizacím původních dat, budete muset funkci znovu spustit, aby se tyto změny projevily.
  • Chcete-li se dozvědět více informací o této funkci Fill Flash, prohlédněte si toto Master Excel zadávání dat s Flash Fill výukový program.

Proveďte opak příkazu CONCATENATE s funkcí Text to Column

Ve skutečnosti je v Excelu funkce Text to Columns opakem funkce zřetězení, můžete ji použít k rozdělení hodnot buněk do více buněk libovolnými oddělovači, které potřebujete.

  1. Vyberte buňky, které chcete rozdělit. A pak klikněte Data > Text do sloupců, viz screenshot:
  2. In Krok 1 Průvodce převodem textu na sloupcevyberte Oddělené možnost a poté klepněte na další tlačítko, viz screenshot:
  3. In Krok 2 průvodce, zadejte oddělovač, který chcete použít pod Oddělovače volba. Tady, zkontroluji space. A pak pokračujte kliknutím na další tlačítko, viz screenshot:
  4. In Krok 3 průvodce, kontrola Generovatl pod Formát dat sloupcea pak vyberte buňku, ve které chcete najít hodnoty rozdělení z Destinace pole. Nakonec klikněte úprava tlačítko, viz screenshot:
  5. Nyní byly vybrané hodnoty buněk rozděleny do více sloupců, viz snímek obrazovky:

Každá z těchto metod vyhovuje různým uživatelským preferencím a úrovním složitosti dat, což umožňuje efektivní manipulaci a organizaci dat v Excelu. Ať už potřebujete rozdělit jména, data nebo jakákoli jiná strukturovaná data, tyto techniky nabízejí cenná řešení pro zlepšení vašich dovedností v Excelu a zlepšení možností správy dat. Pokud máte zájem prozkoumat další tipy a triky pro Excel, naše webové stránky nabízejí tisíce výukových programů pro přístup k nim klikněte sem. Děkujeme za přečtení a těšíme se, že vám v budoucnu poskytneme další užitečné informace!


Související články:

  • Rozdělit textové řetězce oddělovačem do více řádků – 3 rychlé triky
  • Normálně můžete použít funkci Text to Column k rozdělení obsahu buňky do více sloupců pomocí určitého oddělovače, jako je čárka, tečka, středník, lomítko atd. Někdy však může být nutné rozdělit obsah buňky s oddělovači do více řádků a zopakujte data z dalších sloupců, jak je uvedeno níže. Máte nějaké dobré způsoby, jak se s tímto úkolem vypořádat v aplikaci Excel? Tento tutoriál představí některé efektivní metody k dokončení této úlohy v Excelu.
  • Rozdělte velký stůl na několik malých stolů
  • Pokud máte velký list, který obsahuje více sloupců a stovky nebo tisíce dat řádků, nyní chcete rozdělit tuto velkou tabulku na několik malých tabulek na základě hodnoty sloupce nebo počtu řádků, abyste získali následující výsledky. Jak jste se mohli s tímto úkolem vypořádat v aplikaci Excel?
  • Rozdělte celé jméno na jméno a příjmení
  • Předpokládejme, že máte seznam jmen, jak se první snímek obrazovky zobrazuje v jednom sloupci níže, a musíte rozdělit celé jméno na sloupec křestního jména column sloupec prostředního jména a sloupec příjmení, jak ukazuje následující snímek obrazovky. Zde je několik složitých metod, které vám pomohou tento problém vyřešit.
  • Rozdělte text do samostatných sloupců velkými písmeny
  • Předpokládejme, že máte řadu dat, která chcete rozdělit obsah buňky do samostatných sloupců velkým písmenem, jak ukazuje následující snímek obrazovky, máte nějaké dobré nápady k vyřešení tohoto problému v aplikaci Excel?
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Many thanks for your wonderful website and the helpful solutions.
I am using a form on my website to collect CVs and the excel output is like below:

Degree | College Name | Discipline | Year of Graduation | GPA
Masters | Oxford | Mathematics | 2020 | 88
Bachelors | Cambridge | Chemistry | 2016 | 76
Diploma | George's School | Arts | 2012 | 94

All the above lies in a single cell in excel / CSV file.

Can anybody please help me how I can rearrange all this into an excel table with each cell showing part of the entries.

I appreciate your solutions.

best regards,
Nasser
This comment was minimized by the moderator on the site
Hello, Emami

To split the data you provided, both the formula and Text to Column feature can help you. please do as this:
Method1: formula: (After pasting the formula, drag the fill handle right to get the first line result, and then drag the fill handle down to get other results.)
=TRIM(MID(SUBSTITUTE($A1,"|",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-reverse-concatenate.png

Method2: Text to Column:
By using Text to Column feature step by step, and in step3, please enter | character into Other box:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-reverse-concatenate-2.png

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Dear skyyang,
Many thanks for the reply.
First, I cannot use the text to column method because this process has to be done automatically by a formula.
Second, the problem is the table output I receive from csv file (the form entry) is saved in a single cell not in three rows.
ie. All three rows (A1:A4) are stored in one single cell not 4 cell in 4 rows.
I hope you understand my problem and can provide me with a solution.

thanks.
This comment was minimized by the moderator on the site
Hello, Emami,
If your data in a single cell, first, you should split the data into multiple rows based on the line breaks. to split the data into rows, please use this code:
Sub SplitCells()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    lLFs = VBA.Len(Rng) - VBA.Len(VBA.Replace(Rng, vbLf, ""))
    If lLFs > 0 Then
        Rng.Offset(1, 0).Resize(lLFs).Insert shift:=xlShiftDown
        Rng.Resize(lLFs + 1).Value = Application.WorksheetFunction.Transpose(VBA.Split(Rng, vbLf))
    End If
Next
End Sub


Applying the code to split the data into multiple rows, see screenshot:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-split-data.png

Then, you can use this formula to split them into multiple columns as you need.
=TRIM(MID(SUBSTITUTE($A1,"|",REPT(" ",999)),COLUMNS($A:A)*999-998,999))


Please have a try, hope it can help you, if you have any other problem, please comment here.
This comment was minimized by the moderator on the site
I believe it has something to do with having over a certain amount of value in a cell. How does one use this formula with large strings?
This comment was minimized by the moderator on the site
Thank you for this. I had a strange occurence where two strings of text produced #Value!, while all the rest was fine. Any idea why this would happen?
This comment was minimized by the moderator on the site
just want to know if in a cell content i.e (123). can it be splitted to multiple column seperately as cell1 as 1, cell2 as 2 and cell3 as 3
This comment was minimized by the moderator on the site
my query is below
from given data
A B
1 Capital Account Capital Account 6,62,73,000.00
2 SHARE CAPITAL A/C SHARE CAPITAL A/C 67,17,300.00
3 SHARE PREMIUM A/C SHARE PREMIUM A/C 5,95,55,700.00


I need in column C (C + B-A) i.e
C
1 6,62,73,000.00

2 67,17,300.00

3 5,95,55,700.00
This comment was minimized by the moderator on the site
sorry I m not see perfect in first time
this formula is perfect and correct
This comment was minimized by the moderator on the site
you are A Rong Talling thissss formula
This comment was minimized by the moderator on the site
Excellent directions!
This comment was minimized by the moderator on the site
oh snap, i got it above...using text to columns then split option = 'space'
This comment was minimized by the moderator on the site
Thank you so much, helpful indeed. What if there is no comma delimiter in between the words like, "Steve Simpson" and you still want to split?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations