クイックナビゲーション
MID、MIDB関数
概要
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+