Excel で大文字を基準にテキストを個別の列に分割するにはどうすればよいですか?
Excel でデータを扱っていると、「FirstNameLastName」や「SalesMarchApril」のように、各単語の先頭が大文字で連結されたセル値に遭遇することがよくあります。データクレンジングや分析のために、スクリーンショット(下図)のように、各セルの内容を大文字の位置で個別の列に分割する必要が生じることもあるでしょう。しかし、残念ながらExcel には大文字に基づいて直接分割する組み込み機能がありません。このような場合、どのような実用的なアプローチを使えば、迅速かつ正確に大文字ごとに単語を個別の列に分離できるでしょうか?
この課題には、以下の3 つの効果的な解決策があり、それぞれに適したシナリオと強みがあります。
数式を使用して大文字でテキストを個別の列に分割する
セル値が大文字で連結された2 つの単語のみから構成されている場合、Excel の数式を使って内容を個別の列に簡単に分割できます。この方法はコードやアドインを一切必要とせず、小規模なデータセットや比較的シンプルな分割要件に最適です。
1。データの隣にある空白セル(例:セル C2)に、セル A2(分割対象のテキストを含むセル)から最初の単語を抽出する次の配列数式を入力してください。
=LEFT(A2,SMALL(FIND(CHAR(ROW(INDIRECT("65:90"))),A2&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),2)-1) 数式を入力したら、必ずCtrl + Shift + Enterを同時に押してください。一部のExcel バージョンでは、配列数式を使用する際にこの操作が必要です。正しく実行されると、数式バー内の数式の前後に中括弧{}が表示されます。この数式は、セル内の2 番目の大文字の位置を検索し、その位置より前のすべての文字を抽出して最初の単語を取得します。

2。他のエントリにも同じ数式を適用するには、セル C2 を選択してフィルハンドルを下にドラッグし、列内の他のセルに数式をコピーしてください。各行の対応する最初の単語が自動的に抽出されます。

3。次に、右隣のセル(例:D2)に2 番目の単語(残りのテキスト)を抽出するための次の数式を入力します。
=REPLACE(A2,1,LEN(C2),"") この数式は、前の手順で抽出した最初の単語を削除し、2 番目の単語だけを残します。確認するには、Enterキーを押すだけです。

4。同様に、セル D2 を選択してフィルハンドルを下にドラッグすると、この数式が他の行にも適用されます。これにより、元の範囲にある各セルのテキストが、大文字の位置を境に2 つの列に分割されます。


KUTOOLS AI でExcel の魔法を解き放ちましょう
- スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
- カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
- VBA コーディング:VBA コードを簡単に記述・実装できます。
- 数式の解釈:複雑な数式が簡単に理解できます。
- テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
VBA コードを使用して大文字でテキストを個別の列に分割する
上記の数式ベースの方法は、2 つの単語のみを分割するケースには最適ですが、「FirstNameMiddleNameLastName」のように3 つ以上の単語が連結されたセルには対応できません。そのような場合は、VBA コードを使って各セルの大文字の直前にスペースを挿入し、単語を明確に区切ることができます。スペースを挿入した後は、Excel の標準機能であるテキストを列に分割機能を使えば、簡単にテキストを個別の列に分けることができます。
まず、VBA コードを使って大文字の前にスペースを挿入し、単語を区切ります。
1。ALT + F11を押して、Microsoft Visual Basic for Applicationsエディタウィンドウを開きます。
2。VBA エディタで、挿入 > モジュールをクリックし、新しいモジュールウィンドウに次のコードを貼り付けてください。
VBA コード:セル内の各単語の大文字の前にスペースを挿入する
Function SplitWords(ByVal Str As String) As String
'updateby Extendoffice 20151128
Dim I As Integer
SplitWords = Left(Str, 1)
For I = 2 To Len(Trim(Str))
If (Asc(Mid(Str, I, 1)) > 64) And _
(Asc(Mid(Str, I, 1)) < 91) And _
(Mid(Str, I - 1, 1) <> " ") Then _
SplitWords = SplitWords & " "
SplitWords = SplitWords & Mid(Str, I, 1)
Next
End Function
コードを入力または貼り付けたら、VBA エディタを閉じてワークシートに戻ります。このコードにより、splitwordsという新しい関数が定義され、通常のワークシート関数のように使えます。この関数を使用するにはマクロを有効にする必要がある場合があり、VBA コードを保持するにはブックを.xlsm 形式で保存してください。
3。データの隣にある空白セルに、セル A2 内のすべての大文字の前にスペースを挿入する次の数式を入力してください。
=splitwords(A2) この数式はユーザー定義関数を呼び出して各セルを処理します。Enter キーを押すと、各単語の前にスペースが挿入され、個々の単語が明確に区切られたテキストが表示されます。

4。フィルハンドルを使ってこの数式を関連するすべてのセルにコピーし、各行も同様に処理してください。

5。この時点でセルには数式が含まれています。数式のリンクを解除して処理済みのテキストだけを残したい場合は、該当セルを選択してコピーし、貼り付け先で右クリックして「形式を選択して貼り付け」→「値」を選びましょう。

次に、「テキストを列に分割」機能を使用して、スペースを基準にセルの内容を個別の列に分割します。
6。スペースを含むセル値(前の手順の結果)を選択します。リボンでデータ>テキストを列に分割をクリックします。「テキストを列に分割ウィザード」が表示されたら(ステップ1)、区切り文字付きラジオボタンを選択します。
![[データ] > [区切り位置指定] をクリックし、[区切り文字あり] オプションを選択](http://cdn.extendoffice.com/images/stories/doc-excel/split-by-capital-letter/doc-split-by-capital-9.png)
7。「次へ」をクリックし、ステップ2 で区切り文字の次への下にあるスペースオプションを選択してください。これにより、Excel がスペースを区切り位置としてデータを列に分割します。
![[区切り文字] セクションで [スペース] オプションをチェック](http://cdn.extendoffice.com/images/stories/doc-excel/split-by-capital-letter/doc-split-by-capital-10.png)
8。ステップ3 では、列のデータ形式として標準が選択されていることを確認してください(必要に応じて他の形式を選択してもかまいません)。その後、
をクリックして、データの分割結果を表示するセルを指定します。出力先の範囲が既存のデータを上書きしないよう、十分ご注意ください。

9。「完了」をクリックすると、Excel がテキストを複数の列に分割し、元々大文字で区切られていた各単語をそれぞれ個別の列に配置します。完了

一部の単語が期待通りに分割されないエラーが発生した場合は、頭字語(連続する複数の大文字)や後ろのスペースなどの例外的な状況を確認してください。VBA コードを改良するか、データ内の外れ値を再確認することをお勧めします。また、VBA を使用したり一括でデータ操作を行う際は、定期的に作業内容を保存してください。
この方法は、セルごとのテキストの長さや単語数が不規則なデータを処理する際に特に役立ちます。ただし、一部のユーザーは VBA コードの実行に不安を感じる場合があるため、そのような場合は以下に示す代替方法をご検討ください。
大文字でテキストを個別の列に分割するにはKutools for Excel を使用
Kutools for Excelは、スキルレベルを問わずすべてのユーザーに、大文字でテキストを分割できる親しみやすく効率的なソリューションを提供します。特に大規模なデータセットや繰り返し作業に最適です。テキストの追加機能とセルの分割機能を組み合わせれば、最小限の手間とリスクで操作を完了できます。
1。分割したい元のデータが含まれるセルを選択します。
2。Kutools > テキスト > テキストの追加をクリックします。このツールを使えば、スペースなどの文字や区切り文字を、各単語の大文字の直前に自動で挿入できます。
![Kutools の [テキストの追加] 機能をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/split-by-capital-letter/doc-split-by-capital-14-1.png)
3。「テキストの追加」ダイアログボックスで、テキスト入力ボックスにスペース(または必要な他の区切り文字)を入力し、追加条件セクションで先頭文字が大文字の場合を選択してください。これにより、Kutools は選択したセル内のすべての大文字の前に指定した区切り文字を自動挿入します。

4。「OK」をクリックすると、Kutools が自動的に各単語の大文字の前にスペースを挿入し、データを即座に分割可能な状態に整えます。OK

5。次に、処理済みの範囲がまだ選択されている状態で、Kutools>結合と分割>セルの分割をクリックして、区切り文字を使ってテキストを列に分割します。
![Kutools の [セルの分割] 機能をクリック](http://cdn.extendoffice.com/images/stories/doc-excel/split-by-capital-letter/doc-split-by-capital-17-1.png)
6。セルの分割ダイアログで、列に分割の下にある種類セクションから、スペース(または前に追加した区切り文字)のチェックボックスをオンにして、分割位置を指定します。

7。[OK]をクリックすると、分割結果の開始セルを選択できるプロンプトが表示されます。分割後の列数に十分なスペースがあるよう、配置先を慎重に指定してください。

8。最後に、OKをクリックして分割操作を完了してください。これにより、データがすべての大文字の位置で効率的かつ正確に個別の列に展開されます。

この方法は、複雑で大規模、または頻繁に更新されるデータに最適であり、手動での数式調整やコーディングを回避するのに役立ちます。Kutools for Excel はその他の多くの機能も備えており、日常業務から高度なタスクまで、さらなる効率化を実現します。
今すぐKutools for Excel をダウンロードして無料トライアル!
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得
