[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Vlookupを利用してコードの入力ミスを見つけたい』(びわ)
過去の注文実績の中にある部品のコードデータから規格コードに適合しないものを抽出したいです。
規格コードでは部品コードに空白スペースが3つ必要なのですが,入力ミスで2つしかないものもあります。Vlookupとワイルドカードを利用してエラーを抽出しようとしたのですが全てN/Aとなってしまいます。
規格コードはK0M11X11 AAという形で
・「11」は01〜20の数字,
・スペースは空白3つor空白2つ+R(K0M11X11 RAA)
・「AA」はAA〜ZZの文字列
といった形です。
A列には
K0M14X20 GU(0とGの間に空白3つ)
K0M14X20 GU(0とGの間に空白2つ)
K0M18X20 GG(0とGの間に空白3つ)
K0M18X20 RGG(0とRの間に空白2つ)
という過去注文実績データが入力されており
Vlookup関数を以下のように設定し
=VLOOKUP(A1,K0M##X## ??,1,0)
規格コードに沿っていないものを抽出したかったのですが,
すべてN/Aになってしまいます。
どのようなワイルドカードを検索範囲に設定すればよろしいでしょうか?
< 使用 Excel:Office365、使用 OS:Windows10 >
>規格コードに沿っていないものを抽出したかったのですが,
どう言う結果にすれば、抽出したことになるんですか?
(半平太) 2019/06/22(土) 14:44
規格コードに合わないものをN/Aとして抽出したいです。
(びわ) 2019/06/22(土) 15:09
(追記)
現在は正しいコードもN/Aという表示になってしまいます。
理想では正しいコードに関しては検索値と同じ文字列を表示したいのですが。
(びわ) 2019/06/22(土) 15:13
すると、これでいいんですかね?(半角スペースが3つあるデータかどうか)
B1セル =VLOOKUP("* *",A1,1,FALSE) 下にコピー
<結果図> 行 ______A______ ______B______ 1 K0M14X20 GU K0M14X20 GU 2 K0M14X20 GU #N/A 3 K0M18X20 GG K0M18X20 GG 4 K0M18X20 RGG #N/A
(半平太) 2019/06/22(土) 15:17
>B1セル =VLOOKUP("* *",A1,1,FALSE)
あれ? 4つ以上あってもOKになっちゃうなー(取り敢えず反応待ち)
(半平太) 2019/06/22(土) 15:21
B1セル =IF(ISNUMBER(FIND(" ",A1)),NA(),VLOOKUP("* *",A1,1,FALSE))
これで4つ以上は強制的にNA()にすればよさそう。
(半平太) 2019/06/22(土) 15:32
これも入力ミスとして抽出するんですかね。
気になった一言でした。
(のりん) 2019/06/22(土) 16:32
のことを指しているのだろうか。
そうだとすると引数の指定が間違っている
表にはない検索値を指定している。
違っていたらすみません。
(PPM) 2019/06/22(土) 16:42
スペースの数の間違いだけなら
数式で修正できませんか
=LEFT(A1,8)&" "&RIGHT(A1,3)
(マナ) 2019/06/22(土) 16:50
(マナ) 2019/06/22(土) 16:56
>>・スペースは空白3つor空白2つ+R(K0M11X11 RAA) >これも入力ミスとして抽出するんですかね。
なるほどです。2個でも良い場合がある訳ですね。
>=VLOOKUP(A1,K0M##X## ??,1,0) 数式自体は間違いだが、その数式から推測すると 相当な範囲の部分は決め打ちでいいのかも知れない。
これでイケそう。 ↓ B1セル =REPT(A1,LOOKUP(2,MATCH("K0M??X?? "&{" ??","R??"},A1,0)))
下にコピー
<結果図> 行 _______A_______ ______B______ 1 K0M14X20 GU K0M14X20 GU 2 K0M14X20 GU #N/A 3 K0M18X20 GG K0M18X20 GG 4 K0M18X20 RGG K0M18X20 RGG 5 K0M14X20 GU #N/A
(半平太) 2019/06/22(土) 16:57
関数に関しては利用したことがないものでしたので,調べた上で不明点を後日再度質問させていただきたいです。
>>PPMさん
ご指摘ありがとうございます。Excelを本格的に使った経験がないので色々間違えてると思います。頑張って勉強します。
>>マナさん
当方メーカーの資材調達部に配属された新入社員なのですが,部品のコードの入力自体は設計が行っています。設計が部品コードを入力するのはExcelではなく社内システムでして,スペースの数が規格コードに適合していなくても入力できる様です。(-_-;)
現在は設計が社内システムに入力した部品コードを発注する段階で規格コードに適合していないと気づいたら資材調達部が逐次修正しているのですが,結構時間がかかる作業なので,どうにかして効率化できないかと思っていまして。発注した部品データは社内システムからCSV形式でダウンロードできるので,そのデータをもとに規格コードと違うものを抽出しようとして,今の作業を行っているのです。
(びわ) 2019/06/22(土) 21:15
でいくと文字数は 13 に固定されているので
=IF(LEN(A1)=13,A1,"規格コード外")
ではどうですか。
(のりん) 2019/06/22(土) 21:38
K0M14X20 GU K0M14X20 GU
#N/A 規格コード外
K0M18X20 GG K0M18X20 GG
K0M18X20 RGG K0M18X20 RGG
を添付するのを忘れてました。
(のりん) 2019/06/22(土) 21:46
>後日再度質問させていただきたいです。
聞かれると多分しんどい事になるので、 TRUEかORでよければ、下式でやってください。
B1セル =OR(ISNUMBER(MATCH("K0M??X?? ??",A1,0)),ISNUMBER(MATCH("K0M??X?? R??",A1,0)))
<結果図> 行 _______A_______ __B__ 1 K0M14X20 GU TRUE 2 K0M14X20 GU FALSE 3 K0M18X20 GG TRUE 4 K0M18X20 RGG TRUE 5 K0M14X20 GU FALSE
(半平太) 2019/06/22(土) 22:45
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.