ラベルラベル

文字列入門

MID関数を見て理解する

文字列の指定した位置から、指定した文字数だけ取り出す関数です。

3つのポイント

  1. 元の文字列を指定する
  2. 取り出し始める開始位置を決める
  3. そこから取る文字数を指定する
例題

途中から3文字を取り出す

サンプル数式

  • 文字列
  • 開始位置
  • 文字数

この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にしています。一部の絵文字や特殊文字は対象外です。これは教材側の対応範囲であり、ExcelやGoogle スプレッドシート自体のエラーを示すものではありません。

文字位置(番号は1から。検索では見つかった開始位置を示します)

  1. 1: 東
  2. 2: 京
  3. 3: 都
  4. 4: 新
  5. 5: 宿
  6. 6: 区

いまの結果:

新宿区
計算結果
結果セル:D2
入力・条件:3項目
  • 文字列A2:「東京都新宿区」
  • 開始位置B2:4
  • 文字数C2:3
この結果になる理由

指定した文字位置から指定文字数を取り出しました。

サンプルデータ

文字列を変えてみよう

※ Excel と Google スプレッドシートで結果や挙動が異なる場合、Excel の仕様を基準にしています。

「途中から3文字を取り出す」のサンプルデータ。引数番号は正式引数と教材要素の対応、小さな角丸数字は処理順を表します。
ABCD
1文字列開始位置文字数結果
2新宿区
文字列開始位置文字数結果セル
①・②・③ 正式引数 / 教材要素1–4 処理の流れ

A2、B2、C2に値を入力すると、結果と処理順が変わります。

3つの引数

色付きの丸数字は、サンプル数式と引数ガイドで同じ引数を示しています。表にも同じ番号があれば、その引数で指定しているセルを示します。

  1. A2表のセル: A2

    文字を取り出す元の文字列です。この例ではA2の「東京都新宿区」を使います。

  2. B2表のセル: B2

    取り出し始める位置です。先頭を1として数え、この例では4を指定します。

  3. C2表のセル: C2

    開始位置から取り出す文字数です。この例では3文字を指定します。

この数式を日本語にすると

A2の「東京都新宿区」の4文字目から、C2で指定した3文字を取り出し、D2に「新宿区」を表示します。

この説明は、最初に表示されているサンプルデータをもとにしています。入力値を変更しても説明文は変わりません。

処理の流れ

手順1〜4を順番に確認しましょう。表内の小さな角丸数字は、対応する手順を示します。

  1. 文字列を確認する

    A2

    文字列: 東京都新宿区

  2. 開始位置を確認する

    B2

    開始位置: 4

  3. 文字数を確認する

    C2

    文字数: 3

  4. 指定位置から文字を取り出す

    D2

    結果は「新宿区」です。D2に表示します。

対応アプリ

  • Excel
  • Google スプレッドシート

関数自体が対応するアプリです。教材例の数式や再計算が、両アプリで同じように動くことを保証するものではありません。

この例の注意点

  • 開始位置は文字列の先頭を1として数えます。
  • 文字数に0を指定すると空文字列を返し、開始位置が文字列の長さを超える場合も空文字列を返します。
  • この教材では、ExcelとGoogle スプレッドシートで文字数・位置の扱いが一致する範囲を対象にします。一部の絵文字や特殊文字は教材の対象外です。
  • この例では元の文字列・開始位置・文字数を書き換えると、取り出される部分と結果がその場で変わります。

一般構文

対応:Excel / Google スプレッドシート ・ 構文:引数名に差あり

  • 開始位置に0を指定したケースでは、MID("A😀B",0,1)でExcel 2021は#VALUE!、Google スプレッドシートは#NUM!を返しました。

Excel

=MID(text, start_num, num_chars)

Google スプレッドシート

=MID(string, starting_at, extract_length)
公式資料・確認範囲

実機確認

  • Excel 2021 / Google スプレッドシートエラーを確認済み

未確認

計算結果・入力の扱い・配列展開

次に学ぶ関数

カテゴリから探す

次に学ぶおすすめ関数はありません。カテゴリから探しましょう。

カテゴリを見る