• ベストアンサー

2つの列から一致する数(1)を抽出する方法

エクセル初心者です。全然わからなくて困っています。 たとえば下のようなエクセルの表があったとします。    月見 ごぼう かけ | そば うどん Aくん 1            1 Bさん 1                1 Cさん 1            1 Dさん     1            1 …Aくんは(月見)の(そば)を注文しました。Bさんは(月見)の(うどん)といった具合です。 …こういったとき、(月見)の(そば)の注文は、全部で「2」杯の注文が入っていますが、この「2」を、あるセルに表示させる関数ってあるのでしょうか? どうか教えていただけないでしょうか?

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

月見そば     =SUMPRODUCT(B2:B5,E2:E5) 月見うどん    =SUMPRODUCT(B2:B5,F2:F5) ごぼうそば    =SUMPRODUCT(C2:C5,E2:E5) ごぼううどん   =SUMPRODUCT(C2:C5,F2:F5) かけそば     =SUMPRODUCT(D2:D5,E2:E5) かけうどん    =SUMPRODUCT(D2:D5,F2:F5)

sscline
質問者

お礼

「目からうろこ」ですっ!!感動しましたっ!!! (一発で出来上がりました♪) …こんなことって…ホントにありがとうございましたっ!!

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 参考になるかどうか判りませんが・・・ かなり強引な方法になります。 条件として、1行1品目(月見・ごぼう・かけ)で「1」の入力が一つ、なおかつ、「うどん」か「そば」どちらかに「1」の入力が一つ! という前提ですが・・・ ↓の画像でI2セルに =SUMPRODUCT((INDEX($B$2:$D$100,,MATCH($H2,$B$1:$D$1,0)))*(INDEX($E$2:$F$100,,MATCH(I$1,$E$1:$F$1,0)))) という数式を入れ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 仮に、一人が一度に二品目以上注文し、(「1」以外の数値があったり) 同じ行に「1」の入力が3個以上あると希望通りにならないと思います。 (この辺は入力規則で規制を掛けておけば大丈夫なのですが・・・) 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

sscline
質問者

お礼

さっそくのお返事ありがとうございました!SUMPRODUCTという関数があるんですね!ありがとうございますっ!

  • Nantena
  • ベストアンサー率0% (0/2)
回答No.2

いろいろ方法はありますが、分りやすいところでは、 Sheet1に上記データがあるとします。A列に項目名が無いので「人」とでもしておきます。 Sheet2のA1に「月見」B1に「そば」をいれ、 Sheet2のA2に「1」、B2に「1」を入れます。その際、どちらもSheet1の記入と全く同じにしてください。でないと「同じ」とは認識しません。 集計を表示するセルをC1とします。 そこに入れる関数ですが、 「=DCOUNTA(Sheet1!A1:F5,Sheet1!A1,A1:B2)」です。 関数の意味は、 Sheet1の項目を含むデータベースより、項目「人」の中で条件にあった 空白でないセルの個数を集計します。 条件は、(Sheet2の)「月見=A2」&「そば=B2」 です。 条件を&にするかorにするかとか、Dsumは色々設定できます。 ヘルプで調べましょう。

sscline
質問者

お礼

ご丁寧にありがとうございました!!今、チャレンジしています。

関連するQ&A