Posted in

Excel 関数:MID、MIDB

はい、MID 関数と MIDB 関数は、Excel において文字列の一部を抽出するために使う関数ですが、「文字数」と「バイト数」で扱いが異なります。


MID 関数(文字数ベース)

📌 構文

=MID(text, start_num, num_chars)
引数内容
text抽出元の文字列
start_num抽出を始める文字位置(1から)
num_chars抽出する文字数

🧾 使用例

=MID("Apple", 2, 3)
→ "ppl"(2文字目から3文字分)

=MID("日本語テスト", 2, 2)
→ "本語"
  • 全角文字も「1文字」としてカウントされます。
  • 日本語・英語問わず、1文字 = 1文字扱い

🉑 MIDB 関数(バイト数ベース:全角=2バイト、半角=1バイト)

📌 構文

=MIDB(text, start_byte, num_bytes)
引数内容
text抽出元の文字列
start_byte抽出を始めるバイト位置(1から)
num_bytes抽出するバイト数

✅ 特徴

  • 全角文字(日本語、全角英字など)は 2バイトとしてカウント。
  • 半角文字(英数字、記号など)は 1バイト
  • Windows の言語設定が日本語などのマルチバイト環境で有効。

🧾 使用例(日本語環境)

=MIDB("日本語テスト", 3, 4)
→ "本語"("日"=2バイト、"本"=3〜4バイト目、"語"=5〜6)

=MIDB("ABC123", 2, 3)
→ "BC1"(各文字=1バイト)

🔍 MIDMIDB の違いまとめ

特徴MIDMIDB
単位文字数バイト数
全角文字1文字扱い2バイト扱い
半角文字1文字扱い1バイト扱い
使用環境全言語共通日本語などのマルチバイト設定時のみ有効
使いどころ一般的な文字列抽出固定バイト幅のデータ処理、Shift-JISデータ処理など

✅ 応用例

🔹 氏名から苗字だけ抽出(スペース区切り)

=MID(A1, 1, FIND(" ", A1) - 1)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です