Excel「MIDB」関数の使い方とMID関数との違い
Excelの「MIDB」関数は、指定された文字列から任意の位置から指定されたバイト数だけを抜き出す関数です。「MID」関数と類似していますが、「MIDB」関数はバイト単位で文字を抜き出すため、日本語や特殊な文字の処理に適しています。
MIDB関数の基本構文
=MIDB(文字列, 開始位置, バイト数)
ここで、引数は以下の通りです。
- 文字列: 抜き出す対象となる文字列。
- 開始位置: 抜き出す開始位置のバイト数。
- バイト数: 抜き出す文字数のバイト数。
MIDB関数とMID関数の違い
MID関数とMIDB関数の主な違いは、文字を抜き出す単位です。MID関数は文字単位で抜き出し、MIDB関数はバイト単位で抜き出します。これは、日本語や特殊文字が含まれる場合、1文字あたりのバイト数が異なるため、特に重要です。
具体的な利用例
ここでは、MIDB関数を使用した具体的な例をいくつか見ていきましょう。
例1: 名前の姓を抜き出す
名前が「山田太郎」という場合、姓の部分を抜き出すには次のように使用します。
=MIDB("山田太郎", 1, 3)
結果として「山田」が得られます。文字列「山田太郎」から開始位置1のバイトから3バイト分の文字を抜き出すためです。
例2: メールアドレスからドメイン名を抜き出す
メールアドレスが「taro.yamada@example.com」という場合、ドメイン名の部分を抜き出すには次のように使用します。
=MIDB("taro.yamada@example.com", FIND("@", "taro.yamada@example.com") + 1, LENB("taro.yamada@example.com") - FIND("@", "taro.yamada@example.com"))
結果として「example.com」が得られます。「@」の位置をFIND関数で取得し、その次の位置から最後までの文字を抜き出すためです。
これらの例で分かるように、MIDB関数は特定の位置から任意のバイト数だけ文字を抜き出すのに便利です。ただし、バイト単位で抜き出すため、日本語などの2バイト文字を正しく扱うことが重要です。
例3: 電話番号の市外局番を抜き出す
電話番号が「03-1234-5678」という場合、市外局番の部分を抜き出すには次のように使用します。
=MIDB("03-1234-5678", 1, FIND("-", "03-1234-5678") - 1)
結果として「03」が得られます。「-」の位置をFIND関数で取得し、その手前のバイト数だけ抜き出すためです。
例4: 郵便番号の上3桁を抜き出す
郵便番号が「123-4567」という場合、上3桁の部分を抜き出すには次のように使用します。
=MIDB("123-4567", 1, FIND("-", "123-4567") - 1)
結果として「123」が得られます。「-」の位置をFIND関数で取得し、その手前のバイト数だけ抜き出すためです。
まとめ
ExcelのMIDB関数は、特定の位置から指定されたバイト数だけ文字を抜き出すのに便利な関数です。MID関数との違いは、MID関数が文字単位で抜き出すのに対して、MIDB関数がバイト単位で抜き出すことです。これにより、日本語や特殊文字を含む文字列を正確に扱うことができます。MIDB関数の使用方法や具体的な利用例を理解すれば、様々な状況で活用することができます。