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」など、2つ以上の単語が連結されたセルには対応できません。このような場合、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)、区切り文字 のラジオボタンを選択します。
7. 「次へ」をクリックし、ステップ2で区切り文字の下にあるスペースを選択します。これにより、Excelはスペースをデータを列に分割するポイントとして使用します。
8ステップ3で、 一般 が列のデータ形式として選択されていることを確認し(必要に応じて別の形式を選択)、分割後のデータが表示されるセルを選択します。 宛先範囲が既存のデータを上書きしないように注意してください。
9. 「完了」をクリックすると、Excelは大文字ごとに分割された単語を複数の列に分離します。
いくつかの単語が期待通りに分割されていないエラーが発生した場合、頭字語(連続する大文字)や末尾のスペースなどの例外的な状況がないか確認してください。VBAコードを改良するか、データに外れ値がないか再度確認しましょう。また、VBAを使用するときや一括データ操作を行うときは定期的に作業を保存することを忘れないでください。
この方法は、セルごとのテキストの長さや単語数が不規則である場合に特に役立ちます。ただし、VBAコードの実行に不安を感じるユーザーもいるため、その場合は以下の代替方法を考慮してください。
Kutools for Excelを使用して大文字でテキストを別々の列に分割
Kutools for Excelは、すべてのスキルレベルのユーザーが大文字でテキストを分割するための使いやすく効率的なソリューションを提供します。特に大規模なデータセットや繰り返しの多いタスクに役立ちます。Add TextとSplit Cellsの機能を併用することで、最小限の努力とリスクで操作を完了できます。
1. 分割したい元のデータが含まれるセルを選択します。
2. Kutools > テキスト > テキストを追加 をクリックします。このツールは、各大文字の前にスペースや区切り文字を挿入するのに役立ちます。
3. 「テキストを追加」ダイアログボックスで、必要な場合はスペース(または別の区切り文字)をテキスト入力ボックスに入力します。そして、「高度」セクションの「1文字目が大文字」を選択します。これにより、選択されたセル内の各大文字の前に指定された区切り文字が追加されます。
4. OKをクリックします。Kutoolsは各大文字の前に自動的にスペースを追加し、データを分割準備します。
5. 次に、処理済みの範囲を選択したまま、Kutools > 結合と分割 > セルを分割 を選択して、区切り文字でテキストを列に分割します。
6. 「セルを分割」ダイアログで、「タイプ」セクションの「データを列に分割」を選択し、追加されたスペース(またはその他の区切り文字)のチェックボックスをオンにして分割位置を指定します。
7. OKをクリックします。分割結果の開始セルを選択できるダイアログが表示されます。分割後の列に十分なスペースがあることを確認しながら宛先を慎重に指定します。
8. 最後に、OKをクリックして分割操作を完了します。データは今度は大文字ごとに別々の列に整理され、効率的かつ正確に分割されます。
この方法は、複雑で大規模、または頻繁に更新されるデータに理想的であり、手動による数式調整やコーディングを回避するのに役立ちます。Kutools for Excelは多くの他の機能を提供し、一般的および高度なタスクの効率向上を支援します。
Kutools for Excelを今すぐダウンロードして無料でお試しください!
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得