OfficeType

Excel~MID関数で指定位置から指定文字数を抽出しよう~エクセル

エクセルで文字列の指定された位置から指定された文字数の文字を返すMID関数について説明します。

  • MID関数の書式はMID(文字列, 開始位置, 文字数)になります。
  • 文字列は指定した文字数を抽出したい対象の文字列を指定します。
  • 開始位置は何文字目から抽出するかを指定します。
  • [文字数]は開始位置から何文字抽出したいか指定します。

下の画像の例でセルB2にセルA2の商品IDから数字部分を抽出したい場合はセルB2に=MID(A2,6,5)と入力しEnterを押します。

文字列はセルA2に入力された商品IDを指定するのでA2になります。

開始位置は商品IDの数字部分は6文字目から始まるので6になります。

[文字数]は数字部分は5文字なので5になります。

つまりセルB2に=MID(A2,6,5)と入力しEnterを押すとセルA2の商品IDの数字部分の67890が表示されます。

セルB2からセルB5までオートフィルすればA列の商品IDの数字部分がB列に表示されます。

FIND関数との組み合わせ

下の画像の例で商品IDから数字部分を抽出したい時にアルファベットの文字数が決まっていない場合はMID関数とFIND関数を組み合わせれば抽出できます。まずセルB2に=MID(A2,FIND("-",A2)+1,5)と入力しEnterを押すとセルB2にセルA2の商品IDの数字部分67890が表示されます。

文字列はセルA2に入力された商品IDを指定するのでA2になります。

開始位置にはFIND("-",A2)+1が入力されています。FIND関数はFIND("探したい文字",文字列)で探したい文字が文字列の左から何番目か返します。探したい文字に代入さているのが-(ハイフン)で文字列に代入さているのがA2になるのでセルA2に入力された商品IDの中で-(ハイフン)が左から何番目にあるか返します。最後に+1がついているので-(ハイフン)の右の文字が文字列の左から何番目にあるかが求まり、これが開始位置として使われます。

[文字数]は数字部分は5文字なので5になります。

つまりセルB2に=MID(A2,FIND("-",A2)+1,5)と入力しEnterを押すとセルA2の商品IDから数字部分がセルB2に表示されます。

セルB2からセルB5までオートフィルすればA列の商品IDの数字部分がB列に表示されます。

文字数が末尾を超える場合

MID関数は開始位置からの[文字数]が開始位置から末尾までの文字数よりも多い場合は開始位置から末尾まで抽出されるので、開始位置から末尾まで抽出したい時に文字数が不特定の場合は多めに指定すると抽出できます。

ワークブックのブック名の表示

MID関数、CELL関数、FIND関数を組み合わせるとワークブックのブック名を表示できます。下記リンクを参照してください。

取得したブック名をセルに表示しよう

数値を抽出すると文字列になる

MID関数で数値を抽出した場合は文字列として扱われます。数値として扱いたい場合はVALUE関数と組み合わせます。

下の画像の例でセルB2にセルA2の商品IDから数字部分を数値として表示したい場合は=VALUE(MID(A2,6,5))と入力しEnterを押します。

VALUE関数は数値を表す文字列を数値に変換するのでMID関数で抽出された数値文字列が数値として表示されます。