長い文字列から特定の部位をとりだす、そんな関数がエクセルには用意されています。「LEFT」「MID」「RIGHT」です。
「左」「真ん中」「右」と単語が並んでいるように見えますが、いずれの関数も位置情報を表す関数ではありません、特定の位置から文字を抜き出す関数です。名前からはちょっと想像しづらいですね。
これら、「LEFT」「MID」「RIGHT」を元にエクセルにおける文字列操作を扱います。
読んでいただくことで次のことが理解できると思います。
・関数 LEFT/MID/RIGHTの引数入力ルール
・関数 LEFT/MID/RIGHTの出力と使い方
ルールを覚えてしまえば簡単な関数であり、非常に強力な働きをしてくれます。(SEARCH/FINDを用いた方法も別記事で紹介しています、こちらもご確認ください)
文字列操作が本領を発揮するパターン
文字列操作の関数の中でも、「LEFT」「MID」「RIGHT」はとても単純な関数です。実際後ろに続く引数の数は、たかだか3つ程度です。
しかし、特定の規則で並んだ文字列から一定の規則で文字を抜き出す場合には絶大な効果が得られます。
例えば、
ABC000001210927-OK ABC000002210930-NG
みたいな文字列があったとします。実はこのデータの頭9桁は個体の識別ナンバー、10桁~15桁までが日付、16~18桁までが検査の結果を表しているみたいな例があったとします。
・個体の識別ナンバーだけを抜き出したいがどうするか?
・日付だけを抜き出したいがどうするか?
・個体の識別ナンバーと検査結果だけ抜き出したいがどうするか?
こんなお悩みに答えてくれます。
以下①~➂お悩み回答を元に説明します。
①LEFTの引数入力と使い方
➁MIDの引数入力と使い方
➂RIGHTの引数入力と使い方及び文字連結
簡単なので、すぐに使えるようになると思います、是非ご一読ください。
LEFT
LEFT ( 文字列, 文字数 )
LEFT( “ABC000001210927-OK”, 9 )=ABC000001
文字列として「ABC000001210927-OK」を指定、文字列の左から「9」文字を抜き出すことで、結果的に個体の識別ナンバーを抜き出すことができました。
文字列を指定して、左から何文字抜き出すかを指定していることになります。
MID
MID ( 文字列, 開始位置, 文字数 )
MID( “ABC000002210930-NG”, 10, 6 )=210930
文字列として「ABC000002210930-NG」を指定、文字列の左から「10」文字目を先頭に、「6」文字抜き出すことで、結果的に日付を抜き出すことができました。
文字列を指定して、左から何文字目から何文字分抜き出すかを指定していることになります。
RIGHT
RIGHT( 文字列, 文字数 )
RIGHT( “ABC000001210927-OK”, 2)=OK
文字列として「ABC000001210927-OK」を指定、文字列の右から「2」文字を抜き出すことで、結果的に検査結果を抜き出すことができました。
文字列を指定して、右から何文字抜き出すかを指定していることになります、ここまでくれば想像できていましたよね。
ちょっとした応用編で、個体識別ナンバーと検査結果を結び付けたい時は以下のように「&」で結べばOKです。
LEFT( “ABC000001210927-OK”, 9 )&RIGHT( “ABC000001210927-OK”, 2)
=ABC000001OK
簡単ですが、一定の規則で並んだ文字列データがある場合かなり強力なツールになりますね。
まとめ
LEFT/MID/RIGHTの使い方を説明しました。
規則的に並んだ文字で構成されている文字列のデータが大量にある場合は、うまく文字列操作関数を使ってあげることで望みのデータだけを簡単に抜き出してこれそうですね。しかし、規則的に並んでいない、例えば日付が常に6文字で構成されないような場合(210927→21927)だとその威力は半減しそうですので、文字列の特性をよく確認してから使ってください。
うまく活用して、効率よく必要な部分だけ抜き出してみてください。
当ブログでは実際の仕事での経験を通して、役立つノウハウの蓄積を図っています。お時間があれば以下のリンクより、色々な記事を読んでいただければと思います。
ここまで読んでいただき、ありがとうございました。
コメント