2020/12/28
こんにちは。カメラはキヤノン派のバンビです。
みなさん、「VLOOKUP関数」はよく使いますよね?
その際、「JMIRI」(半角)と「JMIRI」(全角)のように同一内容の文字列がマッチせずイライラした経験はありませんか?つき合わせ元とつき合わせ先の記載ルール(英字は半角で記載する等)が異なる場合、このような問題が発生します。
今回はこのイライラを解消するための文字列操作関数をご紹介いたします。
全半角が違うと、データはマッチしない
全角半角がずれたリストをマッチングさせ、こんなことになったことはありませんか?購入リストの単価を単価リストから取得する場合を例に紹介します。
D5セルにVLOOKUP関数を入力して、Enterを押すと・・・
#N/Aになっちゃいました。どちらも商品名は「薬剤C」なのに、なぜ?
そう、全半角の違いでマッチせず、#N/Aになってしまったんです。#N/Aになった文字列をひとつずつ手で修正し・・・・・なんて大変ですよね。
この問題を解決する関数が、ASC関数、JIS関数です。
文字の全角半角を変更する関数:ASC関数、JIS関数
ASC関数は、全角(2バイト)の英数カナ文字を半角(1バイト)の文字に変換する関数、
JIS関数は、半角(1バイト)の英数カナ文字を全角(2バイト)の文字に変換する関数です。
今回の例では、薬剤Cの「C」が購入リストでは半角、単価リストでは全角で入力されていますのでASC関数を用いて、揃えてみます。
購入リストの薬剤Aおよび薬剤CをASC関数で1バイト文字に変換し、
単価リストの商品名もASC関数で1バイトに変換すると、
購入リストの商品の単価が取得できるようになりました。
JIS関数を用いて同じことをしてみます。
購入リストの薬剤Aおよび薬剤CをJIS関数で2バイト文字に変換し、
単価リストの商品名をJIS関数で2バイト文字に変換すると、
購入リストの商品の単価を取得できるようになりました。
まとめ
今回の例のように、記載ルールが徹底されていないリストをVLOOKUP関数等でマッチさせることは、普段の業務でもおこなっていると思います。
そんな時はASC関数・JIS関数をうまく使い、マッチング効率をあげて、スムーズに業務を進めていきましょう。