【Excel】文字列の指定された位置から指定文字数を取得する方法(MID関数)

ExcelのMID関数の使い方について具体例を交えて説明します。

書式

MID(文字列, 開始位置, 文字数)

※ []内の引数は任意の項目です。

関数と変数の説明

文字列の指定された開始位置から指定した文字数分の文字を返します。

  • 文字列(必須項目):取り出す文字を含む文字列を指定します。
  • 開始位置(必須項目):文字列から取り出す位置の先頭を数値(文字数)で指定します。1を指定すると文字列の先頭からになります(LEFT関数と同じ)。0以下の値を指定すると、「#VALUE!」を返します。
  • 文字数(必須項目):取り出す文字数を指定します。0を指定すると何も返ってきません(空が返る)。マイナスの値を指定すると、「#VALUE!」を返します。
引数[文字数]は1バイト文字(半角英数字)も 2バイト文字(日本語)に関わらず、1文字として扱います。
バイト数で指定したい場合はMIDB関数を使用します。

使用例

以下が使用例になります。

ABC
1対象文字列
2Microsoft(マイクロソフト)
3
4取得したい内容出力結果計算式
51.1文字目から5文字取得するMicro=MID(A2, 1,5)
62.1文字目から14文字取得するMicrosoft(マイクロ=MID(A2, 1,14)
73.11文字目から2文字取得するマイ=MID(A2, 11,2)
84.11文字目から100文字取得するマイクロソフト)=MID(A2, 11,100)
95.開始位置が0以下の場合#VALUE!=MID(A2, 0,100)
106.取得する文字数が0の場合=MID(A2, 11,0)
117.取得する文字数がマイナスの場合#VALUE!=MID(A3, 11,-1)

「1.1文字目から5文字取得する」のケースは先頭から5文字を指定した時の出力結果です。1バイト文字を5文字分取得できます。「2.1文字目から14文字取得する」のケースは先頭から14文字を指定した時の出力結果です。2バイト文字も1文字としてカウントされていることが分かります。これらのケースは開始位置が共に1なので、LEFT関数で代替可能です。

「4.11文字目から100文字取得する」のケースでは対象となる文字列の指定位置からの文字数が8文字しかない場合に先頭から文字数100文字取得をしています。その時は特に何のエラーも返さず、指定位置からの文字列すべてが返ってきます。

「5.開始位置が0以下の場合」と「7.取得する文字数が0未満の場合」は「#VALUE!」が返ってきます。

「6.取得する文字数が0の場合」は何も返ってきません(空が返る)。

類似関数

コメント

タイトルとURLをコピーしました