メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで大文字によってテキストを別々の列に分割するにはどうすればよいですか?

Author Xiaoyang Last modified

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番目の大文字を検索し、その位置より前のすべての文字を抽出することで最初の単語を得ます。

use a fromula to to get the first word

2. 数式を他の項目にも適用するには、C2を選択し、塗りつぶしハンドルを下方向にドラッグして列内の他のセルに数式を入力します。各行に対応する最初の単語が自動的に抽出されます。

drag and fill the formula to other cells

3. 次に、右側のセル(例: D2)に、次の数式を入力して残りのテキスト(2番目の単語)を抽出します:

=REPLACE(A2,1,LEN(C2),"")

この数式は前段階で抽出した最初の単語を削除し、2番目の単語のみを残します。確認のためにEnterキーを押すだけです。

use a fromula to to get the second word

4. 同様に、D2を選択し、塗りつぶしハンドルを他の行にドラッグします。元の範囲の各セルのテキストは、大文字の位置で2つの列に分割されます。

drag the formula to other cells

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

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キーを押すと、各大文字の前にスペースが挿入され、個々の単語が明確になります。

enter a user defined function to add spaces before the capital letter

4. この数式を塗りつぶしハンドルを使ってすべての関連セルにコピーし、各列が適切に処理されるようにします。

 the spaces have been inserted before each capital letter

5. この時点で、セルには数式が含まれています。数式リンクなしで処理済みのテキストだけを保持したい場合は、それを別の場所にコピーして値のみをペーストすることができます。これを行うには、処理済みのセルを選択し、コピーしてから右クリックして「形式を選択して貼り付け」 > 「値」を選択します。

copy and paste theses formula cells as values

次に、「テキストを列に分割」機能を使用して、スペースでセルの内容を別々の列に分割します。

6. スペースを含むセルの値(前のステップの結果)を選択します。リボン上で、データ > テキストを列に分割 をクリックします。「テキストを列に変換ウィザード」が表示されたら(ステップ1)、区切り文字 のラジオボタンを選択します。

click Data > Text to Columns, and choose Delimited option

7. 「次へ」をクリックし、ステップ2で区切り文字の下にあるスペースを選択します。これにより、Excelはスペースをデータを列に分割するポイントとして使用します。

check Space option under the Delimiters section

8ステップ3で、 一般 が列のデータ形式として選択されていることを確認し(必要に応じて別の形式を選択)、分割後のデータが表示されるセルを選択します。 select button宛先範囲が既存のデータを上書きしないように注意してください。

specify options in the dialog box

9. 「完了」をクリックすると、Excelは大文字ごとに分割された単語を複数の列に分離します。

cell contents have been split into multiple columns

いくつかの単語が期待通りに分割されていないエラーが発生した場合、頭字語(連続する大文字)や末尾のスペースなどの例外的な状況がないか確認してください。VBAコードを改良するか、データに外れ値がないか再度確認しましょう。また、VBAを使用するときや一括データ操作を行うときは定期的に作業を保存することを忘れないでください。

この方法は、セルごとのテキストの長さや単語数が不規則である場合に特に役立ちます。ただし、VBAコードの実行に不安を感じるユーザーもいるため、その場合は以下の代替方法を考慮してください。


Kutools for Excelを使用して大文字でテキストを別々の列に分割

Kutools for Excelは、すべてのスキルレベルのユーザーが大文字でテキストを分割するための使いやすく効率的なソリューションを提供します。特に大規模なデータセットや繰り返しの多いタスクに役立ちます。Add TextSplit Cellsの機能を併用することで、最小限の努力とリスクで操作を完了できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

1. 分割したい元のデータが含まれるセルを選択します。

2. Kutools > テキスト > テキストを追加 をクリックします。このツールは、各大文字の前にスペースや区切り文字を挿入するのに役立ちます。

click Add Text feature of kutools

3. 「テキストを追加」ダイアログボックスで、必要な場合はスペース(または別の区切り文字)をテキスト入力ボックスに入力します。そして、「高度」セクションの「1文字目が大文字」を選択します。これにより、選択されたセル内の各大文字の前に指定された区切り文字が追加されます。

set options in the dialog box

4. OKをクリックします。Kutoolsは各大文字の前に自動的にスペースを追加し、データを分割準備します。

spaces have been added before each capital letter

5. 次に、処理済みの範囲を選択したまま、Kutools > 結合と分割 > セルを分割 を選択して、区切り文字でテキストを列に分割します。

click Split Cells feature of kutools

6. 「セルを分割」ダイアログで、「タイプ」セクションの「データを列に分割」を選択し、追加されたスペース(またはその他の区切り文字)のチェックボックスをオンにして分割位置を指定します。

select Space or other delimiters

7. OKをクリックします。分割結果の開始セルを選択できるダイアログが表示されます。分割後の列に十分なスペースがあることを確認しながら宛先を慎重に指定します。

select a cell to put the split data

8. 最後に、OKをクリックして分割操作を完了します。データは今度は大文字ごとに別々の列に整理され、効率的かつ正確に分割されます。

the cells are split by capital letters

この方法は、複雑で大規模、または頻繁に更新されるデータに理想的であり、手動による数式調整やコーディングを回避するのに役立ちます。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はお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

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