EXELで複数のセルに一致したものを探す方法とは?

このQ&Aのポイント
  • EXEL初心者の方によくある質問ですが、複数のセルに一致したものを探す方法が知りたいとのことです。
  • 具体的な例として、表1と表2のような2つの表がある場合、商品CD、型番、JANのすべてのセルが一致する商品の販売数を表1側の販売数に反映させたい場合、どのような関数を使えば良いのか分からないとのことです。
  • 一つのセルの一致であればVLOOKUP関数を使えますが、複数のセルの一致が必要な場合はどのようにすれば良いのか、詳しい方に教えていただきたいです。
回答を見る
  • ベストアンサー

EXELで複数のセルに一致したものを探したいです

こんにちは。 EXEL初心者です。EXELの関数について教えて下さい。 下のような2種類の表があるとして、 表1(全在庫データ)  仕入CD 型番 JAN  販売数  1 1001  A-1 ******1    2 1002  B-1 ******2 3 1003  C-1 ******3  1 4 1004  D-1 ******4 5 1005  E-1 ******5 ・ ・ ・ 表2(販売実績データ)  仕入CD 型番 JAN  販売数 1 1003  A-1 ******1  1 2 1004  B-1 ******2  2 3 1003  C-1 ******3  1 4 1002  D-1 ******4  1 5 1001  E-1 ******5  2 商品CD、型番、JANのすべてのセルが一致する商品の販売数を 表1側の販売数に反映させたい場合どのような関数を入れれば良いでしょうか? ひとつのセルの一致だとVLOOKUPでいけますが複数セルだとどうしたら良いのかさっぱり分かりません。 詳しい方、ご教授頂けると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

販売数の集計でなら、SUMIFS関数が有ります。 =SUMIFS(集計列,条件列1,条件1,,条件列2,条件2,条件列3,条件3) VLOOKUP関数にこだわる場合は、[商品CD、型番、JAN]の3列を繋げた列を作れば可能です。 表1(全在庫データ)の販売数の前に列を挿入して =A2&B2&C2 のようにして =VLOOPUP(A2&B2&C2,表1!D:E,2,FALSE)

teriyaki68
質問者

お礼

私程度の知識ですと3つの列をつなげてVLOOKUPを使うやり方がものすごく分かりやすくて現実的に感じました。感激です。どうもありがとうございました。

その他の回答 (4)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 今仮に、表1(全在庫データ)の表の中で「仕入CD」という項目名が入力されているセルがSheet1のA1セルであり、表2(販売実績データ)の表の中で「仕入CD」という項目名が入力されているセルがSheet2のA1セルであるものとします。  その場合、Sheet1のD2セル(全在庫データの表の中で「販売数」のデータを表示させたい最初のセル)に次の関数を入力してから、Sheet1のD2セルをコピーして、Sheet1のD3以下に貼り付けて下さい。 =IF(OR($A2="",$B2="",$C2=""),"",SUMIFS(SUMIFS(Sheet2!$D:$D,Sheet2!$A:$A,$A2,Sheet2!$B:$B,$B2,Sheet2!$C:$C,$C2))

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

>一致したものを探したいです この質問を考えるときに、過程を分析すると「探す」という思考も入るのですが、この課題は「集計する」パターンです。関数では探すというプロセスは表面に出しません。それも「条件(この場合は複数項目)が付いて」いて、表2の行の1つのデータを条件に使って、「条件付き加算・集計」の問題です。集計は「販売数」について行うのでしょう。 この辺の質問書き方から、初心者であることがわかります。  こういうデータのことを考える場合は、データが「ユニーク」かどうかを考えることが大切です。1つの仕入CDで複数の行が出てこないのが「ユニーク」です。 質問の場合は、表1で仕入CD+型番でユニークなのかもしれない。または 仕入CD+型番+JANでユニークなのかもしれません。業界やあなたの会社の知識がないとこの点はわかりません。 ーー エクセル関数では 端的には=SUMIFS(・・)関数を使うのです。この時エクセル・バージョンを質問に書いてないと困ります。SUMIFS関数は2007に新設されたからです。 まだ2003以前の使用者も質問していますから。 この辺の質問書き方からも、初心者であることがわかります。 ーー JANは仕入CD+型番の範囲で1対1ではないのですか? 1対1なら条件は、仕入CD、型番の2つであり、そうでないなら、仕入CD、型番、JANの3つになります ーー SUMIF関数は、Googleで「SUMIFS」関数で照会すればたくさん出てきます。 http://www.excel-list.com/sumifs.html など多数出ます。 >VLOOKUPでいけますが複数セルだとどうしたら この関数は同条件でたくさんあるデータ(多数行に現れる場合)「最初に現れた行」のものしか検出しないのですよ。また集計する機能もありませんから覚えておいて。 MATCH関数も同じです。エクセルの関数は「複数の}答え(行)を原理的に返さないのです。答えを出すセルには1つの値しか入れられないのです。(学が進むと?のケースも 出てくる。配列数式など) 調べて理解して、自分の場合どうなるかやってみてください。 答えをここへ書くのは、しません。誰も言ってくれないだろう、考え方を言っておきます。

teriyaki68
質問者

お礼

ご回答ありがとうございます。 私には難しくておっしゃっていることがいまいち理解できませんでした。 今後勉強していきたいと思います。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.3

sheet2に元データ、sheet1に集計するもとします。(添付画像) sheet1 D2式 =IF(A2="","",SUMIFS(Sheet2!D:D,Sheet2!A:A,Sheet1!A2,Sheet2!B:B,Sheet1!B2,Sheet2!C:C,Sheet1!C2)) 下方へオートフィル 2003以前ではsumproduct関数使用となります。 質問時はバージョン情報を記載するようにして下さい。

teriyaki68
質問者

お礼

ご回答ありがとうございます。画像まで添付して頂きまして感激です。 バージョンは2010ですのでSUMIFSは今後勉強してみます。

  • angel2015
  • ベストアンサー率21% (126/590)
回答No.1

IF関数で複数条件を設定して全て一致するときだけ動作するように記述すると良いです

teriyaki68
質問者

お礼

ご回答ありがとうございます。 IF関数でいろいろ試してみましたが思うように動かせませんでした。 知識不足ですみません。今後勉強していきたいと思います。

関連するQ&A

  • Excelで複数条件を満たし残高を計算する関数

       A列     B列  C列     D列     E列  F列    日付     No. 商品名  仕入/販売  金額 残高 1  2010/12/1  101  りんご   仕入  ¥1,000    ¥- 2  2010/12/2  101  りんご   販売  ¥1,000    ¥- 3  2010/12/3  122  みかん   仕入  ¥1,200    ¥400 4  2010/12/4  122  みかん   販売  ¥800     ¥- 5  2010/12/5  135  バナナ   仕入  ¥1,300    ¥800 6  2010/12/6  135  バナナ   仕入  ¥300     ¥- 7  2010/12/7  135  バナナ   販売  ¥800     ¥- 8  2010/12/8  148  ぶどう   仕入  ¥2,000    ¥- 9  2010/12/9  148  ぶどう   販売  ¥1,500    ¥- 10 2010/12/10  148  ぶどう   販売   ¥500 ¥- 上記のようなEXCELの表があります。 B列No.(第一条件)、C列商品名(第二条件)が一致するものを 仕入から販売を引いてF列のような数字になるように残高を出したいです。 どんな関数でも構いません。 関数でできる方法があれば教えてください。 実際のデータ量が2000行くらいあるので手作業でするのが大変で…。 よろしくお願いしますm(_ _)m OS:WindowsXP Office:2007

  • Exelの引用セルを動かさないようにするには?

    Exelで数式を入れるとき、他のセルに数式をコピーして使いたいと思います。その時、勝手に数式内のセルが変わってしまいます。セルを定数として動かさないようにするためにはどうすればいいのでしょう? 例:=IF(D2=E2,D1,D2) このうち、何処にコピーしてもE2だけは変更したくないのですが。。。。名前を定義する方法は、処理が多いときに面倒なので、他の方法が知りたいです。

  • EXEL 最大値を太くするには?

    EXELで範囲の最大値の文字を太くするには 方法がありますか? どこか別のセルに書き出すのではなく    A  B  C  D  E 1  20  30 42 50 35 とあった場合 セルD1  50 の文字を太くしたいのですが よろしくおねがいします。

  • Exelでのセルを単純に数える方法を教えて下さい

    現在Exelを使用しているのですが 単純にセルの個数を数える方法が分からず困ってます。 他の質問にある「数値があるセル」や「空白のセルを数えたい」 と言う「関数を使ったセルの数え方」では無く 単純に任意のセルをマウスでドラックした分の セルの合計の数を知りたいだけです、 私の記憶だと画面の下にドラッグした分のセルの数が 何かのキーを押すと表示出来たと思うのですが 思い出せません、どなたかご存じでしたらお教え願います。

  • exelのデータ照合

    exelで作成したデーターで、以前作成したデーターと照合、差異を行いたいのですが、以前作成したexel表と今回作成したexel表の2つの表を突合せが出き、相違箇所を示す関数か、他に簡単に出来る方法は無いでしょうか。 それぞれの表には、縦A列に品名・縦B列に型番・c列に数量・・・・と 記入されておりそれぞれの表の品名、型番は、同じような品名、型番が 記入されてます。 方法をご存知の方、至急、お知らせ下さい。 宜しくお願いします。

  • エクセル セル参照では並び替えが機能しないのをわかりやすく解説してほしい

    次のような2つの表を作成しようと思います。 (1)表(仕入表) コード 商品名 仕入数量 仕入単価 ~  1   A  2   B  3   C  4   D  5   E (2)表(売上表) コード 商品名 売上数量 売上単価 ~  1   A  2   B  3   C  4   D  5   E  (2)表作成の際、コードはオートフィル、商品名はセル参照で上の表からとってきたとします。ですが、商品名をセル参照で入れてしまうと並び替えがうまくいきません。  並び替えを正常に行うためには、VLOOK関数を使うのが適当かと思いますが、なぜセル番地で入れると並び替えが機能しなくなるのか、このあたり何となくわかっても論理的に明解にうまく説明することができません。  どなたかわかりやすくご教示いただければさいわいです。

  • exelでセルの個数を数えたいんですが…

     どなたか教えて下さい。エクセルでセルの個数を数えたいんですが、普段私が使っているのは、COUNTA関数で十分だったんですが、これは文字、数値、数式などが入っていれば数えてしまいますよね。下のような表があった場合の数式が入っているセルを数えないようにする関数ってあるでしょうか? B2~B4、D2~D4、F2~F4まで全て数式が入っています。数字は別表から関数を使い出した数字です。それぞれB2~B4、D2~D4、F2~F4の数字の入っているセルの個数を計算したいです。A,C,D列には一連番号が入っています。)   A   B   C   D   E   F 1 番号     番号     番号   2 1   2   4   1 7 3 3 2       5   4    8 4 3   2  6       9   1  宜しくお願いいたします。

  • 複数のセル内データが一致しているかをチェックする関数を教えてください。

    こんにちは。 急ぎの仕事なのですが、関数がさっぱりわからず困っています。 お分かりの方、どうか助けてください!!   A   B C D E F G   5    4 5 5 5 4 5 Aの値、5に対して、B~Gが一致しているかを確認したいのですが どのような関数がありますか? また、同じように、 E    F G H I J K 3    3 3 3 3 3 3 ・・・ と、続きがあります。 ひとつの商品に対して、複数店舗が取り扱っており 現段階では、仕入先(文字列)、原価、売価、発注単位、横に長いデータです。(空白有り・空白は一致とみなす) 最終的にはこの横列が全て一致するものは、消去します。 本を開いて頑張ってみましたが、埒が明かないので、 どうぞ宜しくお願いいたします。 説明不足な点が有りましたらご指摘ください。

  • Exelんの使い方

    初心者ですExelの操作が判りません、どなたか教えてください。 Aセル×Bセルの結果をCセルに反映。 方法 +Aセル*Bセル Cセルの答え  198,234,000 になります。 表を作った後で千円単位にしたく         198,234 したいのですが 表全体を変換する方法を教えてください。 無理ならひとつのセル毎でもよいのですが。          

  • EXELでセルの色を投影するには?

    初歩の質問で申し訳ありません。 EXEL上で例えばA1のセルの色が赤であった場合 任意のセルを(例えばC10)関数かマクロでA1のように赤にする方法は無いでしょうか? 多数のセルの色をA1を変えることで変えたいのです よろしくお願いいたします

専門家に質問してみよう