[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『2つのシートのデータを比べて結果を出したい』(のり)
Excelで作成された2つのシート(価格表/商品名・価格)をくらべて、
@商品名がシートAにはあって、シートBにはないもの
A商品名がシートBにはあって、シートAにはないもの
B商品名は同じでシートAとシートBの価格が違うもの
を検索し、フラグを立てたいのですが、どのような関数を使えばいいのでしょうか?
シートA,Bともに、A列に商品名、B列に価格が入力されているとします。 シートA ・C1に =IF(ISERROR(MATCH(A1,シートB!A:A,0)),"シートBにありません","") ・D1に =IF(C1<>"","",IF(VLOOKUP(A1,シートB!A:B,2,0)<>B1,"シートBと価格が違います","")) ・C1,D1を下に必要行分コピー シートB ・C1に =IF(ISERROR(MATCH(A1,シートA!A:A,0)),"シートAにありません","") ・D1に =IF(C1<>"","",IF(VLOOKUP(A1,シートA!A:B,2,0)<>B1,"シートAと価格が違います","")) ・C1,D1を下に必要行分コピー こんな感じでどうでしょうか?(Yosh!)
上記条件で価格が違う場合に、シートAの価格に置き換える場合は、
どのような関数をどこに追加すればいいのですか?
宜しくおねがいします。
数式と手作業の組み合わせで考えてみました。 ・シートBのE1に =IF(D1<>"",VLOOKUP(A1,シートA!A:B,2,0),B1) として、下に必要行分コピー これで、D列に[シートAと価格が違います]と表示された行はシートAから、それ以外は シートBのB列から価格がE列に表示されます。 ・E列を選択してコピー ・B列を選択して、「編集」−「形式を選択して貼り付け」で[値]を選んでOK ・Escを押してコピーの終了 これでシートAと違っていた価格がシートAの価格に置き換わります。(Yosh!)
Yosh!さん、感謝感謝です!
明日会社で実データで早速試してみます。
今まで2週間かかっていた価格表の更新が1日で終わりそうです。
明日会社に行くのが楽しみです。
またよろしくお願いします。(のり)
#N/Aが表示される理由で考えられるのは、シートAに同じ商品名が 見つからなかった場合なんですが、C列のチェックでシートAに同じ 商品名がなかったら[シートAにありません]と表示されてD列の価格 チェックは行わないで何も表示しないようになっているハズなんですけど...
とりあえず、下記の点をチェックしてみてもらえますか? ・#N/Aが表示された行のC列のセルに式が入力されているか? ・C列、D列の式は上記と同じように入力されているか?
同一条件というのがよく分からないのですが、シートBの中に同じ 商品名が複数行入力されていたりするという事でしょうか? もし、同じ商品名でエラーになったりならなかったりするというのであれば、 式が正しく入力されていないか、あるいは同じように見えている商品名が 片方に空白が入力されていたりして同じ商品名になっていないかだと思います。(Yosh!)
本当に感謝感謝です。
ありがとうございました。またよろしくお願いします。(のり)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.