アレルギー対策、自宅でできる効果的な方法とは?

シートAとシートBの共通点は、「商品コード」とします。その価格が他の列に入っています。シートAを中心(正確)として、価格が合っている場合と間違っている場合を確認する関数を教えて下さい。
VLOOKUPは得意で頻繁に使用しますが、この場合は、無理なように思えます。一列 列挿入して、何かの関数をそこに入れるのではと思うのですが……。INDEXとかMATCHとか ネットで調べてみたのですが、この場合はこういった関数を使用するのでしょうか?ちなみに、INDEX関数やMATCH関数は使用した事がありません。宜しくお願いします。ヴァージョンは、2010です。

質問者からの補足コメント

  • 説明が悪くてすみません。
    シートAには、商品コードがかなり多く600行くらいあります。商品名やサイズや色がらや受注年月日も別の列に入っています。抜けているセルもあります。
    シートBは、もっと整理がされていなくて、年月日も書式が違っていたり、他の列に別の商品コードが入っていたりと大変見づらいです。
    さらに、商品コードが違っていて同じ価格という商品が多すぎます。よって、VlookUpで価格を入力するのは無理そうです。
    IF関数&AND関数とかで何とか出来ないでしょうか?
    上記の説明では私の意図は伝わりにくいでしょうか?お忙しいところ申し訳ありません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/10/27 00:51
  • 【確認の質問①】
    有難うございます。今簡易的に、シートAとシートBにのデータを作って行ってみました。
    少々確認してよろしいでしょうか?
    ①まず、商品コードは、A126,A3578,B00021,C584,D4520,D0047 等、アルファベットから始まっています。アルファベットは半角です。
    そこで、シートAとシートBの商品コード列を選択して、置換機能を使ってアルファベット毎に、半角→全角に修正しました。これ以外に簡潔に全角にする方法って無いですよね?!
    ②そして、シートCを挿入。シートAの商品コードと商品価格をシートCのA列とB列にコピペしました。その後、2列ともコピー→値ペーストして数式をとりましたが、よかったでしょうか?
    ③シートCを商品番号を基準に昇順で並べ替えをしました。この場合、アルファベット基準に昇順となりました。並べ替えが重要なのですね?!
    ⇒【確認の質問②】へ続く

    No.4の回答に寄せられた補足コメントです。 補足日時:2015/10/27 22:51
  • 【確認の質問②】(【確認の質問①】の続き)

    ③シートBの空いている列に、VLOOKUPを使い、シートCの商品コードを引っ張りました。ところで、常に私は完全一致にしたいので、=VLOOKUP($E1,シートC!$A:$B,1,0)としてしまいますが、TRUE型でなくてもよろしいでしょうか?
    ④シートBの隣の列にもシートCの商品価格を挿入しました。
    ⑤そして、この2列をコピー→値ペーストして数式をとりました。
    ⑥あとは、不一致数値を確認するだけですね?!

    以上の手順でよかったのでしょうか?理解が間違っているなら、ご指摘をお願い致します。

    会社ではもっとデータが多いのですが、これで出来るのなら 確かに時間の短縮になると思います。
    宜しくお願い致します。

      補足日時:2015/10/27 22:54

このQ&Aに関連する最新のQ&A

A 回答 (5件)

Vlookupの検索の型は、私の間違いです。

完全一致は[FALSE]ですね。申し訳ありません。完全一致で検索をします。No-4の画像のような、近似値がないデータだったから[TRUE]でも抽出できただけです。

[FALSE]が正解です。
並べ替えよりも、[FALSE]で完全一致にする方が重要です。

FALSEなら並び替えていないデータからでも、抽出できます。シートAの使っていない列にVlookup関数を入れて下までペーストすれば、完全一致のデータを抽出できます。

並べ替えているデータ [TRUE]近似値を抽出
並べ替えているデータ [FALSE]完全一致
並べ替えていないデータ[TRUE]#N/Aになることもありますが、違う値を取り出すこともあります。
違う値でもデータは抽出できたので、気付かない危険があります。

【並べ替えていないデータで[TRUE]は絶対NGです。】

並べ替えていないデータで、[FALSE]にして、同様の手順で抽出してみてください。

結果があっているのかの確認は、目視ではなく、
関数を使って正規の価格の列と比較してください。

正規の列が[T列] VLOOKUPの関数を入れた列が[W列]なら
=IF(T1=W1,1,0)

この式をデータのある【開始行】から【最終行】までペーストします。

そしてその隣の列に
=COUNTIF(W:W,1)と入れます。

その結果が、(【最終行】-【開始行】+1)になっていたらOKです。

開始行5 最終行2000なら [1996]です。

違う値になっていた場合は、半角 & 全角 などの違いが原因かもしれません。

原因がわかるまで元の値のままにしておきます。
    • good
    • 0
この回答へのお礼

ありがとう

ものすごく丁重に細かく教えて頂き有難うございました。会社でやってみます。本当に有難うございました。

お礼日時:2015/10/29 07:11

VLOOKUP関数だけで、不一致データを取り出す方法を解説します。


※添付画像では、[商品コード]ではなく[商品名]にしてあります。コードの羅列だと見づらいかなと思ったからです。

それぞれの商品は、[テレビ○○円、パソコン▽▽円]のように決まっています。

正規の価格があるシートを【シートA】、価格修正をするシートを【シートB】とします。

シートAの【商品コード】のある列を全部コピーします。

ワークシートを追加します。追加したシートをシートCとします。シートCのA1セルを選択してペーストします。

次にシートAの【商品価格】がある列を全部コピーします。

シートCのB1セルを選択してペーストします。

【重要】
シートCに貼り付けた【データ全部】を、【A列を基準にして昇順】で並べ替えます。これをしないとVLOOKUP関数で正確な価格を取り出せません。

使用していない列を、データを取り出す列として【一時的に】使います。VLOOKUP関数でデータを呼び出したら価格のある列に貼り付けてDELETEで消してしまいます。

※列の挿入はしないでください。既にシートに入力してある関数の参照が変わってしまうかもしれませんので…。

図ではG1セルに入れました。
=VLOOKUP(E1,シートC!A:B,1,TRUE)

検索値は、E1セルの値を参照します。商品コードのある列がE列で、データが一行目から始まっているからです。

例えば、シートBの、商品コードの列がRで、5行目から始まっているとしたら、
=VLOOKUP(R5,シートC!A:B,1,TRUE)
にします。シートCも、挿入したシートの名前と同じにしてください。

すると、商品コードが出てくるはずです。

その行の商品コードの値と同じになっているはずです。

入力した関数を、下までコピー&ペーストします。

【それぞれの商品コードと一致しているか確認してください】

=VLOOKUP(E1,シートC!A:B,1,TRUE)
=VLOOKUP(E1,シートC!A:B,2,TRUE)

列番号を2に変更します。

今度は正規価格が表示されたはずです。正規価格表をコピーしたシートCから値を取り出しているわけです。

シートCの商品コードに重複値があっても、価格は一致しているので問題ありません。

VLOOKUP関数を入れたセルを全部選択して、【商品価格】がある列に【形式を選択して貼り付け(値)】でペーストします。

ペーストしたらVLOOKUP関数を入れた方のセルは、DELETEで消します。

シートCはもう使いませんので、削除してもかまいません。
「エクセル 2つのシートの数値の照合を、関」の回答画像4
この回答への補足あり
    • good
    • 0

シートBに記載されている「商品名(商品コード)」と紐づけられた「価格(単価)」が


シートAに記載されている「商品名(商品コード)」に紐づけられた「価格(単価)」と
一致するかを関数を使って示したい。
…で、いいのかな。

シートA、シートBともに、A列に「商品名(商品コード)」、B列に「価格(単価)」が入力されていたとすると、
シートBのC列などシートBのB列と容易に比較できる場所に、VLOOKUP関数を使ってシートAの「価格(単価)」を引っ張ってきたらよい。
=VLOOKUP(A1,シートA!A$1:B$600,2)
これで引っ張ってくることができる。(ついでに600行ほど下へコピー)
その後C列にB列の値と比較して等しくなければセルに色でも付ける書式設定を行えば見やすくなるだろう。
(自分ならC列をコピーしてB列に「値として貼り付け」を問答無用でやってしまうが)

そんなわけでシートBを使いやすいように整形(修正)しよう。たかが600行。
 は な し は そ れ か ら だ 。
(表の作りが悪いのならそれを直してから考えるようにしよう…ということ。基本です)
    • good
    • 0
この回答へのお礼

確かに、元のデータを修正する事から始めないと作業のしようがないのは事実ですね。関数としてはVLOOKUPを使用するしかないようですね。有難うございます。

お礼日時:2015/10/27 23:38

シートA は商品台帳のようなもので、商品コードと価格が入っている場合。


シートB のA列に商品Tの商品コードを入力したとき、B列に商品Tの価格を自動表示させるように作るのはダメですか。
シートB のB列にVLOOKUP関数を作っておけば良いわけですが、こういう使い方とはまた違うものを質問されているのでしょうか。
ご質問文の内容だけでは目的がよくわかりません。
「価格が合っている場合と間違っている場合を確認」して、その結果をどう処理したいのか、によって違ってくると思います。
    • good
    • 0
この回答へのお礼

有難うございます。理解しにくい質問の内容でした。

お礼日時:2015/10/27 23:36

シートAのA列が商品コード、B列が正確な価格。


シートBのA列が商品コード、B列が正しいか間違っているかの価格。
シートAのC列に、VlookUpで、シートBの価格を持ってきて比較するのはダメですか。
あるいは、間違っている箇所を探すというのなら、
シートBのC列に、シートAの正確な価格を持ってくるとか。

どのように確認されようとしていますか。
この回答への補足あり
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで2つのデータを照合したい

会社のPCなのでソフトをダウンロードしたりすることができません。できるだけシンプルで簡単なやり方があれば教えてください。

会員番号と個人名が入ったエクセルファイルが2つあります。
<ファイル1(先輩が担当している顧客)>
101 青木さやか
104 友近
105 山田花子
106 中川翔子
125 真鍋かをり
132 ジャガー横田
144 ともさかりえ
155 小西真奈美
164 篠原涼子
177 山口智子
189 稲森いずみ
211 蒼井優

<ファイル2(私が担当する顧客)>
102 蛯原友里
104 友近
135 山田優
141 押切もえ
144 ともさかりえ
167 堀北真希

<ファイル1>と<ファイル2>には共通して104 友近と144ともさかりえがいるのですが、瞬時にわかるようにするにはどうすればいいでしょうか?

Aベストアンサー

Vlookup関数をファイル1か2のどちらかのC列に入れて同じ値があるかどうかを確認する。
あれば数字が返ってくるし、なければエラー値になるのでそれで判別。

例えばファイル1のC列に1行目に以下を入れてオートフィルターでコピーする
=VLOOKUP(A1,[ファイル2.xls]Sheet1!$A$1:$A$100,1,FALSE)
ファイル名とシート名や範囲は状況に合わせて。

Q2つのシート間での重複データのチェック

Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

Aベストアンサー

シート1のC列に式を入れます。
=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

QExcelで[表1]にあって、[表2]にないものを抽出する関数

Excelで[表1]にあって、[表2]にないものを抽出する関数

例)[表1]   [表2]
   A社     A社
   D社     D社
   R社     P社
   P社     R社
   D社
   F社
   F社

上記は簡単に書きましたが、表1に重複するものも含め、300社程度あるなかで
表2にリストアップされていない会社を見つける関数やその他方法論があれば
ぜひ教えてください!
(例でいえば、F社を見つける方法です。)

抽出するのは別シートでも、同じシートでも構いません。

Excel2003でも対応できるものであれば、なお嬉しいです。

よろしくお願いします。

Aベストアンサー

Countif関数で同じものがいくつあるか数えさせます。
   A   B        C
  [表1]表2にある数   [表2]
   A社          A社
   D社          D社
   R社          P社
   P社          R社
   D社
   F社
   F社
だとして
B列に =Countif(C:C,A2)
と入れて下までコピィすれば 表2に同じものがいくつあるか出ますので
0 がないものです。

Qエクセルでシート間のデータを照合して相違箇所を知りたいです。

エクセル2000です。
たびたびの質問ですみません。
非常に大きな表なので、手作業では大変そうなのでよろしければアドバイスお願いします。
シート間のデータを照合して相違箇所を知りたいと思います。
初心者なのでマクロは使ったことがありません。
初心者でも出来るやり方はありますでしょうか?
すみませんがよろしくお願いします。

Aベストアンサー

たびたびどうも(笑)

>シート1、2で同一だったデータも表に書き入れる

というのは
「相違が無ければ、元データをそのまま表示する」
ということですか?
シート1のA1に 50という数字
シート2のA1に 50という数字があるとして
シート3のA1にも 50と表示させたい
ということでしょうか?

その場合でしたら
チョッと式を変更して

=IF(Sheet1!A1=Sheet2!A1,Sheet1!A1,"違います")

という具合でどうでしょう?
シート1と2のA1を比較して、同じなら
シート1のA1を表示する
違っていれば 違います と表示する
という意味の式になります。

こういうことで宜しいのでしょうか??

QEXCELで別のシートのデータを参照して返す方法

ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。

作業用のシート1と参照用のシート2があり、
シート1のA列には
 あおき
 あべ
 いぐち
 いはら
などと文字列(名前)が入力されています。
こちらは今度の野球のスタメンだと思ってください。

シート2にはA列とB列があって、
わたなべ 55
いぐち  43
あおやま 67
いはら  41
などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。

ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。
なので、シート1のB列に
IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、
適合したシート2の行のB列の値を表示する
という式を入れたいのですが、どのように式を書けばよいでしょうか。

すみませんがどなたか教えてください。

Aベストアンサー

私もその場合はVLOOKUP関数を使用しています。

「B1」=VLOOKUP(A1,Sheet2!$A:$B,2,0)

Qエクセル【A列とB列の不一致を知りたいです】

初めまして。
お忙しい中、大変申し訳ございませんが、下記に関して、ご指導のほど、宜しくお願い致します。

***************
【例】
A列    B列

あめ    チョコ
ガム    ポテトチップス
チョコ   あめ
       ガム


という列があり、A列はA1000まで続き、B列はB3000まで続きます。
必ずしも、A列の横に同じお菓子名があるわけではありません。

そこで、A列とB列を比較し、B列にしかないもの(上記「例」ではポテトチップス)のセルに色づけ、もしくはC列に、不一致するものだけ「NG」等が記載される数式を教えてください。

お忙しい中、大変申し訳ございませんが、
何卒宜しくお願い申し上げます。

Aベストアンサー

条件付書式で、B列のセルに
「数式が」
=ISERROR(VLOOKUP(B1,A:A,1,FALSE))
で書式を設定し下にコピーすると、無いものだけが書式変更されます。

同じように、B列の隣のC列に
=IF(ISERROR(VLOOKUP(B1,A:A,1,FALSE)),"NG","")
として下にコピーしても隣にNGと表示できます。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

QExcelで2つのデータの突合せをしたいです

同一のExcelブックに「仕入れデータ」と「請求データ」の2つのデータがあります。
sheet1、sheet2には
A列・B列・C列・D列にそれぞれ
品名・個数・単価・金額
のデータが入っています。

sheet1のE列に
「sheet1のA&B&C&Dと同じデータがsheet2にあれば重複、そうでなければ該当なし」

こういう関数を組みたい場合、どういう式になるのでしょう?
VLOOKやIF、SUMPRODUCTも試してみましたが、どうもうまくいきません。
どうか、お知恵を貸してください!

Aベストアンサー

式は長くなってしまいますが、作業列は不要です。

=IF(COUNTIFS(Sheet2!$A:$A,A1,Sheet2!$B:$B,B1,Sheet2!$C:$C,C1,Sheet2!$D:$D,D1)>0,"重複","該当なし")

QExcelで2つのファイルの違い(Diff)をとりたい

Excelでファイル名が同じで更新日付の異なる2つのファイルがあります。
この2つのファイルで内容が変わっている部分を知りたいのですが、良い方法はあるでしょうか?
(もしくは内容が変わっているかどうかだけでも知りたい)

比較が必要なファイルが大量にあるため、一つずつ見比べる時間が無く、困っています。

Aベストアンサー

使ってないのでお勧めはわかりませんが、こちらのフリーソフトを試してみては?
http://search.vector.co.jp/search?query=excel+%94%E4%8Ar

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報