プロが教えるわが家の防犯対策術!

D列に入力装置(バーコードスキャナ)で読み込んだ9桁から10桁の数字を右から3桁を切りたいです。
これを入力と同時に行いたいです。
入力装置で読み込むと自動で下のセルに移動します、そういう仕様になっています。
このバーコードの読み込みを連続で行います。

入力した値が
123456789の場合、123456
1234567890の場合、1234567
となれば良いです。

E列にはVLOOKUPでD列を検索値としています。
始めは、K列に入力してD列に、=LEFT(K1, LEN(K1)-3)と関数を入れましたがうまくいきません。


D列に入力されたと同時に右から3桁を切り、E列にVLOOKUPされた値を都度確認したいです。

何か良い方法はありませんでしょうか?宜しくお願いいたします。

A 回答 (3件)

ちょっとイマイチ何をしているのかわからないのですが、LEFT関数の返り値は文字列になるのでそのためにVLOOKUPが機能しないのでは?


(データが数字という前提ですが)

=LEFT(K1, LEN(K1)-3)*1

とかではできませんか?
    • good
    • 0
この回答へのお礼

解決できました!ありがとうございます!

お礼日時:2022/09/13 07:36

バーコードってのがどれを指すのか


https://www.keyence.co.jp/ss/products/autoid/cod …
にもよるかもですが、JIS規格ではないもので桁数を任意にってなら最後はストップ(入力終了)になる場合もあり、またその際にはスタート文字もあるようですしね。

仕様を詳しく書かれた方が宜しいかなと。

>D列に、=LEFT(K1, LEN(K1)-3)と関数を入れましたがうまくいきません。

結果としてどうなったのかも情報として必要かもです。
    • good
    • 0
この回答へのお礼

いつもお世話になっております。いろいろ調べていただきありがとうございます。
原因はベストアンサー様のご指摘の通り、返り値が文字列のために
VLOOKUPが機能しない、でした。
うまくいかなかったときの結果の情報が質問に足りませんでした。

お礼日時:2022/09/13 07:43

これでどう?


=IF(LEN(E2)=9,LEFT(E2,6),LEFT(E2,7))

E2はあなたのでK1になります。
E2の中が9桁かそれ以外かでIF関数で判断させています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!