KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel 数式:文を単語に分割

著者Sun変更日

Excel には「区切り文字による列の分割」機能があり、これを使えば区切り文字に基づいて文を個々のセルに簡単に分割できます。ただし、状況によっては数式を使ってこの処理を行いたいこともあるでしょう。本チュートリアルでは、そうしたケースで活用できる配列数式をご紹介します。
文を単語に分割するドキュメント 2

汎用的な数式:

=MID(「 」&$TXT&「 」, SMALL(IF(ISERROR(SEARCH(MID(「 」&$TXT&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(「 」&$TXT&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(「 」&$TXT&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1))-1)

引数

Number: the sentence or text string you want to split to words in separated cells.

この数式の動作原理

セル B3 を例に挙げて、以下の数式をご利用いただけます。

=MID(「 」&$B3&「 」, SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1))-1)

Shift + Ctrl + Enterキーを押して最初の単語を抽出し、その後、すべての単語が抽出されるまでフィルハンドルを右にドラッグしてください。
文を単語に分割するドキュメント 3
文を単語に分割するドキュメント 3

解説

MID 関数は、指定された開始位置と文字数に基づいて、テキスト文字列から部分文字列を抽出します。

ROW 関数は行番号を返します。ここでは、1 から99 までの配列が返されるように設定されています。

その後、数式 MID(「 」&$B2&「 」, ROW($1:$99), 1)
=MID(" Class A Grade 3 Lily Core", {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99}, 1)
={「 」;「C」;「l」;「a」;「s」;「s」;「 」;「A」;「 」;「G」;「r」;「a」;「d」;「e」;「 」;"3";「 」;「L」;「i」;「l」;「y」;「 」;「C」;「o」;「r」;「e」;「 」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;
「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」;「」}

SEARCH 関数は、指定されたテキスト文字列内から特定の文字やテキストの位置を返します。見つからない場合は、エラー値を返します。

数式 SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)
={1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1}

ISERROR 関数は、値がエラーかどうかを判定し、TRUE を返します。

その後、数式 ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」))
={FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;
TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;
FALSE}

IF 関数は特定の条件をテストする関数です。この関数には3 つの引数があり、第1 引数には論理式を指定する必要があります。第1 引数が「TRUE」の場合は第2 引数の値が表示され、「FALSE」の場合は第3 引数の値が表示されます。

数式 IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99))
={1;「」;「」;「」;「」;「」;7;「」;9;「」;「」;「」;「」;「」;15;「」;17;「」;「」;「」;「」;22;「」;「」;「」;「」;27;28;29;30;31;32;33;34;35;
36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;
64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;
93;94;95;96;97;98;99}

SMALL 関数は、配列内の最小値を返します。

COLUMN 関数は、数式が入力されているセルの列番号、または指定した参照の列番号を返します。

その後
SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1))
={1}

その後、数式
SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1)+1)-  SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1))
={7-1}
={6}

その後、数式
MID(「 」&$B3&「 」, SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(「 」&$B3&「 」, ROW($1:$99), 1), 「 」)), 「」, ROW($1:$99)), COLUMN(A1))-1)
=MID(「 」&$B3&「 」,2,6-1)
={Class}

サンプルファイル

サンプルドキュメントサンプルファイルをダウンロードするにはクリックしてください


関連する数式


関連する関数

  • MID 関数
    セル内の文字列から、指定した位置と文字数に基づいてテキストの一部を抽出します。
  • COLUMN 関数
    数式が配置されている列の番号、または指定された参照の列番号を返します。
  • ROW 関数
    現在の行番号を取得します。
  • SEARCH 関数
    指定されたテキスト文字列内で、特定の文字や部分文字列がどこにあるかを検索します。
  • IF 関数
    特定の条件を判定します。

最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

🤖KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気機能検索・ハイライト・重複をマーキング    空白行を削除する    データを失うことなく列の結合またはセルを    数式を使用しない四捨五入...
スーパー VLookup複数条件    複数値    複数シート間    ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト    連動型ドロップダウンリスト    複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加    列の移動   非表示列の表示状態を切り替え  列を比較して同じ/異なるセルを選択...
注目の機能グリッドフォーカス    デザインビュー    強化された数式バー    ワークブックとシートマネージャーリソースライブラリ(オートテキスト)  日付ピッカー    ワークシートの統合    暗号化/セルの復号化   リストからメール送信    スーパーフィルター    特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除...)  50+チャートタイプガントチャート...)  40+実用的な数式誕生日に基づいて年齢を計算します...)  19 挿入ツールQR コードを挿入パスから画像を挿入...)  12 変換ツール単語に変換する為替レートの変換...)  7 結合と分割ツール高度な行のマージExcel セルを分割...)。。。他にも多数
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。