Excelチュートリアル:テキスト、数字、日付のセルを分割(複数列に分離)
Excelを使用する際、特定の目的で1つのセル内のテキストを複数のセルに分割する必要が出てくる場合があります。このチュートリアルは3つの部分に分かれており、テキストセルの分割、数値セルの分割、および日付セルの分割を扱います。各パートでは異なる例を提供し、同じ問題に遭遇した際にどのように分割作業を行うかを理解するのに役立ちます。
目次: [ 非表示 ]
1 テキストセルを分割
この部分では、テキストセルを複数の列に分割する際に遭遇する状況をまとめ、それに対応する方法を提供します。
例 #1 カンマ、スペース、またはその他の区切り文字でセルを分割する
特定の区切り文字(カンマ、スペース、ダッシュなど)によってテキストセルを複数の列に分割するには、以下の方法のいずれかを適用できます。
区切り文字でセルを分割するには、「テキストの分割」機能を使用します
テキストを列に分割機能は、Excelの組み込み機能として、セルの分割に頻繁に使用されます。以下のスクリーンショットに示すように、テキスト文字列列のセルをカンマで分割するには、次のように「テキストを列に分割」機能を使用できます。
1. カンマで分割したい列の範囲を選択し、[データ] > [データの分割] をクリックします。
2. 「 テキストを列に変換ウィザード – ステップ 1/3」ダイアログボックスで、区切り文字のラジオボタンが選択されたままにして、次に「次へ」ボタンをクリックします。
3. 「テキストを列に変換ウィザード – ステップ 2/3」ダイアログボックスで、必要に応じて区切り文字を指定します(この場合、カンマのチェックボックスのみをオンにします)。その後、次へボタンをクリックします。
4. 最後のステップのダイアログボックスで、クリックします 分離されたテキストを出力するセルを選択するボタンをクリックし、その後 完了 ボタン。
選択範囲内のテキストは、コンマで区切られ、以下に示すように異なる列に配置されます。
以下の数式を適用して、Excelで指定された区切り文字によってセル内のテキストを分割することができます。
一般的な数式
=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))
引数
次に、この数式を適用します。
1. 下のスクリーンショットに示すように、まず、異なるセルに位置する1、2、3...という数字を持つ補助行を作成する必要があります。
注: ここで 1、2、3... は、テキスト文字列の最初、2番目、3番目の部分文字列を表します。
2. 数字1のセルの下にあるセルを選択し、以下の数式をコピーまたは入力して、Enterキーを押してテキスト文字列の最初の部分文字列を取得します。 結果のセルを選択し、そのオートフィルハンドルを右および下にドラッグして、他の部分文字列を取得します。 スクリーンショットをご覧ください:
=TRIM(MID(SUBSTITUTE($B5,",",REPT(" ",LEN($B5))),(D$4-1)*LEN($B5)+1,LEN($B5)))
注: 数式では、「,」はB5の文字列を分割するために使用される区切り文字です。必要に応じて変更できます。
ここで、Excelで特定の区切り文字を使用してセルを簡単に別々の列や行に分割するのに役立つKutools for Excelの「セルの分割」機能をお勧めします。
1. Kutools for Excelをインストールした後、テキスト文字列を分割したい範囲を選択し、次にKutools > 結合 & 分割 > セルの分割をクリックします。
2. 「セルの分割」ダイアログボックスで、次の設定を行う必要があります。
3. 次の「セルの分割」ダイアログボックスで、部分文字列を出力するセルを選択し、「OK」をクリックします。
その後、部分文字列は、上述のステップ2で指定した内容に基づいて異なる列または行に分割されます。
データの分割:
行に分割:
例 #2 特定の長さでセルを分割する
テキスト文字列を特定の長さで分割するには、次の方法が役立ちます。
特定の長さでセルを分割するには、「テキストの分割」機能を使用します
「 データの分割」機能には、「固定幅」オプションが用意されており、Excelで選択したセル内のテキスト文字列を特定の長さで分割するのに役立ちます。
以下のスクリーンショットに示すように、範囲 B5:B9 のテキストを3文字ごとに列に分割するには、次の手順を実行します。
1. テキスト文字列を分割したいセルを選択します。
2. [データ] をクリックし、[ テキストの分割] を選択します。
3. 「テキストを列に変換ウィザード – ステップ1/3」ダイアログボックスで、「固定幅」ラジオボタンを選択し、「次へ」をクリックします。
4. 次に、「 3ステップ中のステップ2」ダイアログボックスが表示されます。「 データプレビュー」セクションで、軸上の希望する位置をクリックしてブレークライン(矢印付きの線)を作成します。すべてのブレークラインを作成後、「次へ」ボタンをクリックして先に進みます。
この場合、テキスト文字列内の3文字ごとに改行を作成します。
5. 最後のステップウィザードで、分割されたテキストを出力するセルを選択し、完了ボタンをクリックします。
これで、選択したセル内のテキスト文字列が、下のスクリーンショットに示すように3文字ごとに分割されました。
Excelでセルを特定の長さで分割するには、Kutools for Excelの「セルの分割 」機能を適用すると、簡単に実行できます。
1. 分割したいテキスト文字列のセルを選択し、Kutools > 結合 & 分割 > セルの分割 をクリックします。
2. 「セルの分割」ダイアログボックスで、次の設定を行う必要があります。
3. 次の「セルの分割」ダイアログボックスで、分割されたテキストを配置するセルを選択してから「OK」をクリックします。
その後、選択されたセル内のテキスト文字列は特定の長さで分割され、異なる列に配置されます。
例3:特定の単語でセルを分割する
下のスクリーンショットに示すように、範囲 B5:B9 のテキスト文字列を単語「sales」全体で分割するには、このセクションで提供されている数式を適用できます。
セル内の特定の単語の前の部分文字列を取得する
LEFT 関数と FIND 関数に基づいた数式を適用することで、テキスト文字列内の特定の単語の前の部分文字列を取得するのに役立ちます。
一般的な数式
=LEFT(A1,FIND("certain_word", A1)-1)
引数
1. 空のセルを選択し、以下の数式をコピーまたは入力して Enter キーを押すと、特定の単語の前の部分文字列が取得できます。この結果のセルを選択し、 オートフィルハンドルを下にドラッグして他のセルにも数式を適用します。
=LEFT(B5,FIND("sales",B5)-1)
セル内の単語の後の部分文字列を取得する
その単語の前の部分文字列を取得した後、次の数式を適用してその後の部分文字列を取得する必要があります。
一般的な数式
=TRIM(MID(A1,SEARCH("certain_word",A1)+LEN("certain_word"),255))
引数
1. 最初の結果セル(D5)の隣にある空白セルを選択します。
2. 以下の数式をコピーまたは入力し、Enterキーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして他の結果を取得します。
=TRIM(MID(B5,SEARCH("sales",B5)+LEN("sales"),255))
これで、テキスト文字列を単語全体で異なる列に分割できました。
例 #4 改行でセルを分割する
このセクションでは、Excelでテキストセルを行区切りで分割するためのさまざまな方法を紹介します。
データの分割機能を使用すると、Excelでセルを改行で分割できます。以下の手順で操作できます。
1. テキストを改行で分割したいセルの範囲を選択します。
2. [データ] をクリックし、[データの分割] を選択します。
3. 「テキストを列に変換ウィザード – ステップ 1/3」ダイアログボックスで、区切り文字のラジオボタンを選択してから「次へ」をクリックします。
4. 「ステップ 2/3」のダイアログボックスで、既存の「区切り文字」の選択をすべてオフにし、「その他」のチェックボックスをオンにしてから、「Ctrl + J」のショートカットを押します。テキストボックスに小さなドットが表示されるのがわかります。そして、「データのプレビュー」ボックスでは、テキストが改行によって分割されています。「次へ」ボタンをクリックします。
5. 最後のステップウィザードで、分割されたテキストを出力するための宛先セルを選択し、完了ボタンをクリックします。
選択されたセル内のテキストは、改行によって異なる列に分割されます。
次の数式も、Excelでセルを行区切りで分割するのに役立ちます。
上記と同じ例を使用すると、分割後、異なる列に3つの部分文字列が得られます。
最初の改行前の部分文字列を取得する
まず、LEFT関数とSEARCH関数に基づいた数式を適用して、セル内の最初の改行前の部分文字列を分割できます。
汎用的な数式
=LEFT(セル, SEARCH(CHAR(10),セル,1)-1)
引数
1. 空のセル(この場合はD5)を選択し、以下の数式をコピーまたは入力して Enter キーを押します。結果のセルを選択し、そのオートフィルハンドルを下にドラッグして、他のセルの最初の改行前の部分文字列を取得します。
=LEFT(B5, SEARCH(CHAR(10),B5,1)-1)
最初と2番目の改行の間の部分文字列を取得する
セル内の最初と2番目の改行の間の部分文字列を取得するには、次の数式を使用できます。
一般的な数式
=MID(セル,SEARCH(CHAR(10),セル)+1,SEARCH(CHAR(10),セル,SEARCH(CHAR(10),セル)+1)-SEARCH(CHAR(10),セル)-1)
引数
1. D5の隣のセル(E5)を選択し、以下の数式をコピーまたは入力して、Enterキーを押します。結果のセルを選択し、そのオートフィルハンドルを下にドラッグして、他のセルの最初と2番目の改行の間の部分文字列を取得します。
=MID(B5, SEARCH(CHAR(10),B5) + 1, SEARCH(CHAR(10),B5,SEARCH(CHAR(10),B5)+1) - SEARCH(CHAR(10),B5) - 1)
2回目の改行後の部分文字列を取得する
最初のステップは、以下の数式を使用して2つ目の改行後の部分文字列を取得することです。
一般的な数式
=RIGHT(セル,LEN(セル) - SEARCH(CHAR(10),セル, SEARCH(CHAR(10), セル) + 1))
引数
1. セル(この場合はF5)を選択し、以下の数式をコピーまたは入力して Enter キーを押します。結果のセルを選択し、そのオートフィルハンドルを下にドラッグして、他のセルの2つ目の改行後の部分文字列を取得します。
=RIGHT(B5,LEN(B5) - SEARCH(CHAR(10), B5, SEARCH(CHAR(10), B5) + 1))
このセクションでは、Excelで選択したセル内のテキストを改行で簡単に分割するためのVBAコードを提供します。
1. Alt + F11 キーを押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2. [Microsoft Visual Basic for Applications] ウィンドウで、[挿入] > [モジュール] をクリックします。その後、以下の VBA コードをコード ウィンドウにコピーしてください。
VBAコード: Excelでセルを改行で分割する
Sub ExtendOffice_SplitRangeTex()
'Updated by Extendoffice 20211116
Dim xStr() As String
Dim xRg As Range
Dim xCell As Range
Dim xI As Integer
Set xRg = Application.InputBox("Please select the range of cells where you want to split by line break:", "Kutools for Excel", "", , , , , 8)
If xRg Is Nothing Then Exit Sub
For xI = 1 To xRg.Count
Set xCell = xRg.Item(xI)
xStr = VBA.Split(xCell.Value, vbLf)
xCell.Resize(1, UBound(xStr) + 1).Offset(0, 1) = xStr
Next
End Sub
3. F5キーを押してコードを実行します。すると、Kutools for Excelのダイアログボックスが表示されるので、改行で分割したいセルの範囲を選択し、最後にOKボタンをクリックします。
選択したセル内のテキストは、改行によって異なる列に一度に分割されます。
ここで、便利なツールを紹介します – Kutools for Excelのセル分割機能 です。このツールを使用すると、選択したセル内のテキストを複数行にわたって一括で分割でき、数回のクリックだけで操作が完了します。
1. テキストを改行で分割したいセルの範囲を選択します。
2. Kutools > 結合と分割 > セルの分割 をクリックして、この機能を有効にします。
3. 「セルの分割」ダイアログボックスで、次の設定を行う必要があります。
4. 次に表示される「セルの分割」ダイアログボックスで、分離されたテキストを配置する空白のセルを選択し、「OK」をクリックします。
その後、選択したセル内のテキストは、下のスクリーンショットに示すように、改行によって異なる列に分割されます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
例 #5 最初または最後の区切り文字だけでセルを分割する
時々、最初または最後の区切り文字だけでセルを2つの部分に分割する必要がある場合があります。以下の数式を試してみてください。
以下のスクリーンショットに示すように、範囲 B5:B9 の各セルを最初のスペースで2つの部分に分割するには、2つの数式を適用する必要があります。
最初のスペースの前の部分文字列を分割する
最初のスペースの前の部分文字列を分割するには、LEFT関数とFIND関数に基づいた数式を使用できます。
汎用的な数式
=LEFT(セル,FIND("区切り文字",セル)-1)
引数
1. 部分文字列を出力するセル(この場合はD5)を選択し、以下の数式をコピーまたは入力して Enter キーを押します。結果のセルを選択し、オートフィルハンドル を下にドラッグして他のセルの部分文字列を取得します。
=LEFT(B5,FIND(" ",B5)-1)
最初のスペースの後の部分文字列を分割する
次に、セル内の最初のスペースの後の部分文字列を取得するために以下の数式を適用します。
汎用的な数式
=RIGHT(セル,LEN(セル)-FIND("区切り文字",セル))
引数
1. 以下の数式をセル E5 にコピーまたは入力し、Enter キーを押して結果を得ます。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、他のセルの最後のスペース後の部分文字列を取得します。
=RIGHT(B5,LEN(B5)-FIND(" ",B5))
注: 数式では、必要に応じてセル参照をテキスト文字列や区切り文字に変更できます。
セルの範囲(B5:B9)内のテキストを最後のスペースで2つの部分に分割するには、このセクションで提供されている2つの数式が役立ちます。スクリーンショットに示すように処理を完了できます。
最後の区切り文字の左側のテキストを取得する
セル内の最後の区切り文字の左側のテキストを取得するには、以下の数式を適用できます。
汎用的な数式
=LEFT(B5,SEARCH("^",SUBSTITUTE(セル,"delimiter","^",LEN(セル)-LEN(SUBSTITUTE(セル,"delimiter",""))))-1)
引数
1. 左の部分文字列を配置するセルを選択し、以下の数式をコピーまたは入力して Enter キーを押します。結果のセルを選択し、そのオートフィルハンドルを下にドラッグして他のセルにも数式を適用します。
=LEFT(B5,SEARCH("^",SUBSTITUTE(B5," ","^",LEN(B5)-LEN(SUBSTITUTE(B5," ",""))))-1)
最後の区切り文字の右側のテキストを取得する
この場合、最後のスペースの右側にあるテキストを取得する必要があります。
汎用的な数式
=TRIM(RIGHT(SUBSTITUTE(セル,"区切り文字",REPT("区切り文字",LEN(セル))),LEN(セル)))
引数
1. 右側の部分文字列を配置するセルを選択し、以下の数式をコピーまたは入力して Enter キーを押します。 結果のセルを選択し、そのオートフィルハンドルを下にドラッグして他のセルにも数式を適用します。
=TRIM(RIGHT(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))),LEN(B5)))
注: 数式では、必要に応じてセル参照をテキスト文字列や区切り文字に変更できます。
例 #6 大文字でセルを分割する
このセクションでは、大文字でセル内の単語を分割するユーザー定義関数を紹介します。
1. Alt + F11 キーを押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2. Microsoft Visual Basic for Applications ウィンドウで、[挿入] > [モジュール] をクリックし、以下の VBA コードをコード ウィンドウにコピーします。
VBAコード: Excelで大文字によってセルを分割する
Function GetName(s As String, Num As Long) As String
'Updated by Extendoffice 20211116
With CreateObject("VBSCript.RegExp")
.Global = True
.Pattern = "[A-Z][a-z]+|[A-Z]"
GetName = .Execute(s).Item(Num - 1)
End With
End Function
3. Alt + Q キーを押して、Microsoft Visual Basic for Applications ウィンドウを閉じます。
4. 最初の大文字の左側にある単語を出力するセル(この場合はD5)を選択し、以下の数式を入力してEnterキーを押します。この結果のセルを選択し、オートフィルハンドルを右にドラッグしてから下にドラッグして、他の単語を取得します。
=IFERROR(GetName($B5,COLUMNS($D:D)),
注: コード内の $B5 は分割するセル、$D:D は結果セルの列です。ご自身のデータに応じてこれらを変更してください。
例 #7 セル内の名前を分割する
フルネームの列を含むワークシートがあり、そのフルネームを別々の列に分割したいとします。たとえば、フルネームから名前と姓を分割したり、フルネームから名前、ミドルネーム、姓を分割したい場合などです。このセクションでは、これらの問題を解決するための詳細な手順を紹介します。
以下のスクリーンショットに示すように、名、ミドルネーム、姓が単一のスペースで区切られています。フルネームから名と姓のみを分割して異なる列に配置するには、次の方法のいずれかを適用できます。
フルネームを名と姓に分割するには、2つの数式を別々に適用する必要があります。
フルネームから名を分割する
LEFT 関数と SEARCH 関数に基づいた数式を適用して、フルネームから名(ファーストネーム)を分割することができます。
一般的な数式
=LEFT(セル, SEARCH(" ", セル) - 1)
1. 名を出力するセルを選択します。
2. 以下の数式をコピーまたは入力し、Enterキーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、他のフルネームから名を分割します。
=LEFT(B5, SEARCH(" ", B5) - 1)
これで、指定した範囲のセルからフルネームのすべての名前を分割できました。次の数式を適用して、姓を分割してください。
フルネームから姓を分割する
汎用的な数式
=RIGHT(セル, LEN(セル) - SEARCH("^", SUBSTITUTE(セル," ", "^", LEN(セル) - LEN(SUBSTITUTE(セル, " ", "")))))
1. 名前が入力されたセルの隣のセルを選択します。
2. 以下の数式をコピーまたは入力し、Enterキーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして他のフルネームから姓を取得します。
=RIGHT(B5, LEN(B5) - SEARCH("^", SUBSTITUTE(B5," ", "^", LEN(B5) - LEN(SUBSTITUTE(B5, " ", "")))))
注: 数式では、B5は分割したいフルネームのセルです。必要に応じて変更できます。
多くのExcelユーザーにとって、数式を覚えるのは難しいことです。ここで、Kutools for Excelの「名前の分割 」機能をお勧めします。この機能を使用すると、いくつかのクリックだけでフルネームを名前と姓に簡単に分割できます。
1. フルネームのセル範囲を選択し、Kutools > 結合 > 名前の分割 をクリックします。
2. 「名前の分割」ダイアログボックスで、「分割タイプ」セクションの「名」と「 姓」のチェックボックスのみをオンにし、その後「OK」をクリックします。
ヒント: 選択した範囲は「分割範囲」ボックスに表示され、必要に応じて変更できます。
3. 次に別の「名前の分割」ダイアログボックスが表示されます。出力先のセルを選択して「OK」をクリックしてください。
すると、選択したセル内のフルネームが、下のスクリーンショットに示すように、名前と姓に一括で分割されます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
以下のスクリーンショットに示すように、名前が名、ミドルネーム、姓の順で単一のスペースで区切られたフルネームの列があります。このフルネームを名、ミドルネーム、姓に分割し、それぞれを異なる列に配置するには、以下の方法が役立ちます。
1) テキストの分割を使用してフルネームを名、ミドルネーム、姓に分割
組み込みの機能 – 「テキストを列に分割」を使用すると、Excelでフルネームを名、ミドルネーム、姓に簡単に分割できます。
注: 3ステップ中のステップ2のウィザードでは、スペースのチェックボックスのみをオンにしてください。
Excelでフルネームを名、ミドルネーム、姓に分割するために数式を適用することもできます。
フルネームを分割するための一般的な数式
名を分割する
=LEFT(セル, SEARCH(" ", セル)-1)
ミドルネームを分割
=MID(セル, SEARCH(" ", セル) + 1, SEARCH(" ", セル, SEARCH(" ", セル)+1) - SEARCH(" ", セル)-1)
姓を分割する
=RIGHT(セル,LEN(セル) - SEARCH(" ",セル, SEARCH(" ",セル,1)+1))
次に、異なるセルで数式を使用して、名、ミドルネーム、姓を取得します。
1. セル D5 に以下の数式を入力し、Enter キーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、他のフルネームの名前(First name)を取得します。
=LEFT(B5,SEARCH(" ", B5)-1)
2. セルE5に以下の数式を入力し、Enterキーを押して最初のミドルネームを取得します。結果セルを選択し、そのオートフィルハンドルを下にドラッグして他のミドルネームを取得します。
=MID(B5, SEARCH(" ", B5) + 1, SEARCH(" ", B5, SEARCH(" ", B5)+1) - SEARCH(" ", B5)-1)
3. 姓を取得するには、以下の数式をセル F5 に入力して Enter キーを押す、その後結果のセルを選択し、必要なセルにオートフィルハンドルをドラッグします。
=RIGHT(B5,LEN(B5) - SEARCH(" ",B5, SEARCH(" ",B5,1)+1))
3) 素晴らしいツールを使用してフルネームを名、ミドルネーム、姓に分割
こちらは、Kutools for Excelの「名前の分割 」機能の紹介です。この機能を使用すると、フルネームを名、ミドルネーム、姓に数回のクリックだけで一度に分割できます。
1. 分割したいフルネームのセルを選択し、次に Kutools > 結合 > 名前の分割 をクリックします。
2. 「名前の分割」ダイアログボックスで、次の設定を行う必要があります。
3. 次に表示される「名前の分割」ダイアログボックスで、分割されたテキストを出力する先のセルを選択し、[OK]をクリックします。下記のデモをご覧ください。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
例 #8 セル内のテキストと数字を分割する
以下のスクリーンショットに示すように、テキストと数字が混在する文字列のリストがあるとします。このテキストと数字を分離して異なる列に配置するために、4つの方法を提供します。
次の数式を使用すると、1 つのセル内のテキストと数字を 2 つの別々のセルに分割できます。
一般的な数式
セルからテキストを取得
=LEFT(セル,MIN(FIND({0,1,2,3,4,5,6,7,8,9},セル&"0123456789"))-1)
セルから数字を取得
=RIGHT(セル,LEN(B5)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},セル&"0123456789"))+1)
次に、これらの2つの数式を異なるセルに適用して、テキストと数字を分離します。
1. リスト内の最初のテキスト文字列を配置する空白のセルを選択し、以下の数式をコピーまたは入力して Enter キーを押します。 結果のセルを選択し、そのオートフィルハンドルを下にドラッグして、リスト内の他のテキスト文字列を取得します。
=LEFT(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789"))-1)
2. 最初の結果セル(D5)の隣にあるセル(E5)を選択し、以下の数式をコピーまたは入力して Enter キーを押します。結果セルを選択し、そのオートフィルハンドルを下にドラッグして、リスト内の他のテキスト文字列の数値を取得します。
=RIGHT(B5,LEN(B5)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789"))+1)
フラッシュフィルを使用してテキストと数字を分割(2013以降のバージョン)
Excel 2013以降のバージョンを使用している場合、組み込みのFlash Fillを適用して、1つのセル内のテキストと数字を2つの列に分割できます。
注: Flash Fill機能を動作させるには、結果の列を元のテキスト文字列の列の隣に配置する必要があります。例えば、元のテキスト文字列がB列にある場合、分割されたテキストと数字はC列とD列に配置する必要があります。スクリーンショットをご覧ください:
1. 最初の文字列セル (D5) のテキストを手動でセル C5 に入力します。
2. C6セルに、2番目のテキスト文字列セル(D6)のテキストを入力し続けます。
3. セル C7 をアクティブ化し、[データ] → [ フラッシュフィル] をクリックします。
その後、他のテキスト文字列のテキストが、下のスクリーンショットに示すように、セルに自動的に入力されます。
4. ステップ1から3を繰り返して、列Dの数字を取得します。
注記:
リスト内のテキスト文字列が規則的でない場合、上記の2つの方法では以下のスクリーンショットに示すように誤った結果が返される可能性があります。
ここでは、テキスト文字列内の数字の位置に関係なく、セル内のテキストと数字を2つの列に分割するためのユーザー定義関数を紹介します。スクリーンショットをご覧ください:
1. Alt + F11 キーを押します。
2. 開いた Microsoft Visual Basic for Applications ウィンドウで、[挿入] > [モジュール] をクリックし、以下の VBA コードをコード ウィンドウにコピーします。
VBAコード: セル内のテキストと数字を2つの列に分割する
Public Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Update by Extendoffice 20211105
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
xStr = VBA.Mid(pWorkRng.Value, i, 1)
If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
SplitText = SplitText + xStr
End If
Next
End Function
3. Alt + Q キーを押して、 Microsoft Visual Basic for Applications ウィンドウを閉じます。
4. 最初のテキスト文字列のテキストを出力するセルを選択し、以下の数式を入力して Enter キーを押します。この結果のセルを選択し、オートフィルハンドルを下にドラッグして、同じリスト内の他のテキスト文字列のテキストを取得します。
=SplitText(B5,FALSE)
5. 最初のテキスト結果セルの隣にあるセルを選択して数字を出力し、以下の数式を入力して Enter キーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、他のテキスト文字列の数字を取得します。
=SplitText(B5,TRUE)
ここで、セルからテキストと数字を一度に2つの列に分割する最も簡単な方法を紹介します。Kutools for Excelの「セルの分割」機能を使用すると、この問題を数回のクリックだけで処理できます。
1. テキストと数字を2つの列に分割したい文字列セルを選択します。
2. Kutools をクリックし、結合と分割を選択して、セルの分割を選びます。
3. 「セルの分割」ダイアログボックスで、次の設定を行う必要があります。

4. 次の「セルの分割」ダイアログボックスで、分離されたテキストと数字を出力するセルを選択し、「OK」ボタンをクリックします。
その後、選択したセル内のテキストと数字が次のスクリーンショットに示すように、一度に2つの列に分割されていることが確認できます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
2. 数値セルを分割
この部分では、数値セルを2つの状況に分ける方法について説明します:複数桁の数値を個々の桁に分割する場合と、小数点で数値を分割して整数部分と小数部分を分離する場合です。
例1:数字でセルを分割
複数桁の数字を異なる列に個別の桁に分割したい場合は、以下の方法のいずれかを試してください。
以下の数式は、数字を個々の桁に分割し、異なる列に配置するのに役立ちます。
汎用的な数式
=MID($A1, COLUMNS($A$1:A$1), 1)
引数
1. 最初の数字を出力するための空白セルを選択し、以下の数式を入力して Enter キーを押します。
=MID($B3, COLUMNS($B$3:B$3), 1)
2. この結果セルを選択し、オートフィルハンドルを右にドラッグして他の桁を取得します。すべての結果セルを選択したまま、オートフィルハンドルを下にドラッグして他の数字の個々の桁を取得します。
注: この数式では、B3は個別の数字に分割する数値が含まれているセルであり、必要に応じて変更できます。
以下のVBAコードを使用しても、Excelのセル内の数値を個々の数字に分割することができます。以下のように操作してください。
1. Alt + F11 キーを押して、 Microsoft Visual Basic for Applications ウィンドウを開きます。
2. [Microsoft Visual Basic for Applications] ウィンドウで、[挿入] > [モジュール] をクリックし、以下の VBA コードをコード ウィンドウにコピーします。
VBAコード: Excelで数値を個々の桁に分割する
Sub SplitNumberIntoDigits()
'Updateby Extendoffice 2021118
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "Kutools for Excel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
xInt = InputRng.Row
Application.ScreenUpdating = False
For Each Rng In InputRng
xValue = Rng.Value
xRow = (Rng.Row - xInt) + 1
For I = 1 To VBA.Len(xValue)
OutRng.Cells(xRow, I).Value = VBA.Mid(xValue, I, 1)
Next
Next
Application.ScreenUpdating = True
End Sub
3. F5キーを押してコードを実行すると、Kutools for Excelのダイアログボックスが表示されます。分割する数値セルの範囲を選択してからOKボタンをクリックする必要があります。
4. 2つ目の Kutools for Excel ダイアログボックスが表示されたら、個別の数字を出力するセルを選択し、次に OK をクリックする必要があります。
注: このコードは、単語を個々の文字に分割することもできます。
選択したセル内の数字は個別の桁に分割され、異なる列に配置されます。
Kutools for Excelの「 セルの分割」機能は、Excelで数値を個々の桁に簡単に分割するのに役立つ便利なツールです。
1. Kutools for Excelをインストールした後、分割したい数値セルの範囲を選択し、Kutools > 結合と分割 > セルの分割 をクリックします。
2. 「セルの分割」ダイアログボックスで、次の設定を行います。

3. 表示された「セルの分割」ダイアログボックスで、数字を出力する空白のセルを選択し、「OK」ボタンをクリックします。
選択したセル内の数字が一度に個別の桁に分割されます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
例 #2 小数で数字を分割
このセクションでは、Excelで数値を整数部分と小数部分に分割するいくつかの方法について説明します。
TRUNC関数は、Excelで小数点で数字を分割するために使用できます。以下のように操作できます。
一般的な数式
整数部分を取得する
=TRUNC(A1)
小数部分を取得する
=A1-TRUNC(A1)
引数
これで、指定された範囲のセル内の数値を小数点で分割するために、これら2つの数式をExcelで適用できるようになりました。
1. 最初の数値セルの整数部分を配置するセルを選択し、以下の数式を入力して Enter キーを押します。 結果のセルを選択し、そのオートフィルハンドルを下にドラッグして、他の数値セルの整数を取得します。
=TRUNC(B5)
2. 最初の結果セルの隣にあるセルを選択して小数部分を配置し、以下の数式を入力して Enter キーを押します。この結果セルを選択し、そのオートフィルハンドルを下にドラッグして他の数値セルの小数を取得します。
=B5-TRUNC(B5)
Excelで小数点で数字を分割するために、「データの分割」機能を使用できます。
1. 小数点で分割する数値セルの範囲を選択し、次に [データ] > [データの分割] をクリックします。
2. 「Convert Text to Columns Wizard – Step 1 of 3」ダイアログボックスで、「Delimited」ラジオボタンを選択し、「Next」ボタンをクリックします。
3. 3ステップ中のステップ2のダイアログボックスで、他のチェックボックスのみをオンにし、テキストボックスにドットを入力してから、次へボタンをクリックします。
4. で 3ステップ中のステップ3 ダイアログボックスで、「 分割された整数と小数を出力するための宛先セルを選択するボタンをクリックし、最後に 完了 ボタンをクリックします。スクリーンショットをご覧ください:
その後、選択したセルから整数部分と小数部分が分割されていることが、下のスクリーンショットのように確認できます。ただし、小数部分はユーザーが必要とする可能性のある負の符号を失っています。
小数点で数値を分割するにはフラッシュフィルを使用(2013以降のバージョン)
上記の例では、セル内のテキストと数字を分割するために フラッシュフィル機能の使用法を紹介しました。そして、ここでは同じ方法を使用して小数点で数字を分割する方法を紹介します。
1. いくつかの例を入力します。この場合、B5の整数部分をC5に入力し、B6の整数部分をC6に入力します。スクリーンショットをご覧ください:
注: 負の数の場合、マイナス記号も一緒に入力することを忘れないでください。
3. 埋めたい列にあるいくつかの例を含むセルを選択し、[データ] > [ フラッシュフィル] をクリックします。
次に、指定された数値セルから整数が抽出され、以下のスクリーンショットに示すようになります。
4. 同じ数値セルから小数を分割するために、上記の手順を繰り返します。
3. 日付セルを分割
もう一つよくある状況は、日付セルを分割する場合です。日付セルを個別の日、月、年に分割する必要がある場合や、日付セルを個別の日付と時間に分割する必要がある場合は、次の解決策を必要に応じて使用してください。
例 #1 日付セルを個別の日、月、年に分割する
範囲 B5:B9 に日付のリストがあり、各日付の値を日、月、年用の3つの別々の列に分割したいと仮定します。ここでは、日付を分割する結果を得るための3つの方法を紹介します。
Excelで日付を個別の日、月、年に分割するために、DATE関数、MONTH関数、YEAR関数に基づいた3つの数式を適用できます。
一般的な数式
=DATE(A1)
=MONTH(A1)
=YEAR(A1)
引数
1. 日、月、年を分けて配置するための3つの列を作成します。
2. 日付列の最初のセルを選択し、以下の数式を入力して Enter キーを押して、最初の日付セル (B5) の日を取得します。この結果のセルを選択し、そのオートフィルハンドルを下にドラッグして他の日付セルの日を取得します。
=DAY(B5)
ステップ1と同じ操作を行い、月列と年列に次の数式を適用して、日付セルから個別の月と年を取得します。
日付の月を取得する
=MONTH(B5)
日付の年を取得する
=YEAR(B5)
上記の手順に従って、「データの分割」機能を使用し、Excelで日付セルを個別の日、月、年に分割できます。
注: 3ステップ中のステップ2のダイアログボックスでは、「その他」のチェックボックスのみをオンにし、テキストボックスに「/」記号を入力してください。
以下のデモは、Kutools for Excelの「セルの分割」機能を使用して日付を月、日、年に分ける方法を示しています。
この機能は、数回のクリックだけで日付を一括で分割する結果を得るのに役立ちます。
この機能についてさらに詳しく知るには、クリックしてください。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
例 #2 セル内の日付と時刻を分割する
B5:B9に日時リストがあると仮定し、日付と時刻を別々の列に分割したい場合、このセクションではそれを実現するためのさまざまな方法を紹介します。
次の数式を適用して、Excelで日付と時刻を異なる列に分割できます。
1. 日付と時刻を配置するための2つの列を準備します。
2. 日付列のセルを日付形式に設定し、時刻列のセルを時間形式に設定する必要があります。
3. 日付列の最初のセルを選択し、以下の数式を入力して Enter キーを押して B5 の日付を取得します。この結果のセルを選択し、そのオートフィルハンドルを下にドラッグして他の日付を取得します。
=INT(B5)
4. 時間列に次の数式を適用して、B5:B9の時間を取得します。
=B5-D5
フラッシュフィルを使用してセル内の日付と時刻を分割する(2013以降のバージョン)
Excel 2013以降のバージョンを使用している場合、組み込みのフラッシュフィル機能を適用して、日付と時刻を異なる列に分割できます。
1. 日付と時刻の列を作成し、出力したい例をいくつか入力します。日付列では、B5の日付をC5に入力し、B6の日付をC6に入力します。時刻列では、B5の時刻をD5に入力し、B6の時刻をD6に入力します。スクリーンショットをご覧ください:
2. 埋めたい日付列(例を含む)を選択し、[データ] > [ フラッシュフィル] をクリックします。
3. 埋めたい時間列(例を含む)を選択し、その後「フラッシュフィル」機能も有効にします。すると、B5:B9の日付と時刻が以下のデモに示されるように個別の列に分割されます。
これで、さまざまな状況で異なる方法を使用してExcelのセルを分割する方法を学びました。具体的なシナリオに基づいて、どの方法を選択するかを最適に判断できるようになります。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!