MID、MIDB関数

Excel 2007+

概要

ExcelのMID関数は、文字列の指定位置から指定文字数分の部分文字列を抽出します。MIDB関数はマルチバイト文字(日本語など)に対応したバージョンですが、現在は非推奨です。MID関数がUnicode対応を改善し、より正確な文字処理が可能になりました。

構文

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

パラメータ

パラメータ タイプ 必須 説明
文字列 Text はい 抽出対象の文字列(セル参照可)
開始位置 Number はい 1開始の位置番号(範囲外で空文字列)
文字数 Number はい 抽出文字数(超過時は末尾まで)

MID, MIDB関数の使用

MID関数は文字列の特定部分を抽出する際に使用します。名前、コード、日付などから必要な部分だけを取り出すのに最適です。MIDBは従来の多バイト文字用でしたが、最新のMID関数で置き換え可能です。

MID, MIDBの一般的な例

基本的な抽出例

=MID(A2,1,5)

A2の文字列「Fluid Flow」から最初の5文字「Fluid」を抽出します。

末尾までの抽出

=MID(A2,7,20)

7文字目から20文字抽出要求ですが、文字列長10文字のため「Flow」を返します。

範囲外開始位置

=MID(A2,20,5)

開始位置20は文字列長を超えるため、空文字列を返します。

よくある質問

MIDBは従来の多バイト文字(日本語など)用で1文字を2バイトとして扱います。MIDはUnicode対応でサロゲートペアを1文字として正しく処理し、MIDBは非推奨です。

空文字列("")が返されます。エラーは発生しません。

文字列の末尾までが返され、余分なスペースは追加されません。

一般的なエラーと解決策

#VALUE!エラー

Cause: 開始位置または文字数が負の値、または文字列以外

Solution: 数値引数を正しく入力し、開始位置は1以上を指定

空文字列が返される

Cause: 開始位置が文字列長を超えている

Solution: 開始位置を文字列の実際の長さ内に調整

注記

  • MIDB関数は非推奨。MID関数を使用してください。
  • 互換性バージョン2ではサロゲートペアが1文字として正しくカウント
  • 絵文字のバリエーションセレクターは個別文字としてカウント
  • LEN関数と組み合わせて動的に位置指定が可能

互換性

利用可能: Excel 2007以降全バージョン, Microsoft 365

利用不可: Excel 2003以前

コンテンツ最終レビュー: December 10, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+