VBAの全てがここにある!

VBA Left関数について ~関数の解説と使用例~

ENGINEER.CLUB編集部

ENGINEER.CLUB編集部

ある文字列の中から、一部の文字を取り出して使いたいことはありませんか。そんな時には、Mid関数、Left関数、Right関数等を利用すると、特定の文字列を取り出すことができます。ここでは、「文字列の先頭から指定した数の文字を取り出したい」場合に利用する、Left関数について説明します。


1.Left関数について

1-1.Left関数とは

Left関数とは、VBAの文字列操作の1つです。Left関数は、文字列の先頭から、指定した数の文字列を取り出して返します。

固定長のファイルなどで、取り出したい文字列の開始位置や文字数が決まっているときには便利ですが、取り出したい文字列が何文字目から開始しているのかを知りたい場合は、「2-4.ほかの関数と組み合わせた使用例」をご参照ください。

1-2.Left関数の構文

Left(文字列,文字数)

文字列・文字数ともに、省略不可能です。


2.Left関数の使用例

2-1.基本的な使用例

Left("あいうえabc",3)

実行結果: あいうえa

解説:「あいうえabc」の先頭から5文字を返します。

Left("あいうえabc",5)

実行結果: あいうえa

解説:「あいうえabc」の先頭から5文字を返します。

Left関数では、全角・半角の区別をつけずに、1文字としてカウントします。

2-2.特殊な書き方をした場合の実行結果

Left("あいうえabc",0)

実行結果: (空文字)

解説:文字数に0を指定した場合、空文字を返します。

Left("あいうえabc",10)

実行結果:あいうえabc

解説:文字数に、文字列全体の長さより大きな数字を指定した場合、全文字列を返します。

2-3.その他使用例

取り出したい文字列数が一定でない場合は、InStr関数を利用して、キーとなる文字の位置を取得します。

文字列より、都道府県名(ここでは県名)を取り出したい場合を例に説明します。

まず、「県」の文字が先頭から何文字目にあるかをカウントします。

Instr(1,"千葉県成田市","県") 
InStr (1,"神奈川県横浜市","県")

実行結果:3

     4

ここでLeft関数を使用し、文字列より県名を取り出します。

Left("千葉県成田市", 3)
Left("神奈川県横浜市", 4)

実行結果:千葉県

     神奈川県

これらの関数を組み合わせると

Left("千葉県成田市", Instr(1,"千葉県成田市","県")) 
Left("神奈川県横浜市", InStr (1,"神奈川県横浜市","県")) 

実行結果:千葉県

     神奈川県

となります。

※補足1:上記を、Left関数ではなく、Mid関数を用いて行うと

Mid("千葉県成田市", 1,Instr(1,"千葉県成田市","県")) 
Mid("神奈川県横浜市",1, InStr (1,"神奈川県横浜市","県")) 

実行結果:千葉県

     神奈川県

となります。


3.LeftB関数について

文字列をバイトデータとして扱いたい場合は、LeftB関数を使用します。LeftB関数は文字列内の指定位置から指定したバイト数分の文字列を返します。構文はLeft関数と同じです。

ただし、VBAでは全角も半角も1文字を2バイトとしてカウントするため、文字数の指定には注意が必要です。

LeftB("あいうえabc",4)

実行結果: あい

解説:「あいうえabc」の先頭から4バイト(2文字)を返します。

LeftB("abcde",4)

実行結果: ab

解説:「abcde」のの先頭から4バイト(2文字)を返します。


4.さいごに

以上、Left関数について、基本的な構文と使用例をまとめました。

Left関数とLeftB関数に関しては、用途を明確にした上で、使い分けてください。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

公式アカウントLINE限定!ボールドの内定確率が分かる無料診断実施中
公式アカウントLINE限定!
ボールドの内定確率が分かる無料診断実施中