• ベストアンサー

単品のみ所有している人を抽出したい

こんにちは。 Excelの下記のようなデータベースで、「02」のみ単品で所有している人を求める方法を教えていただけますか? 氏名  No  台数 A    01   01 A    02   01 B    02   01 C    01   01 C    02   01 C    03   01 D    02   01 D    02   02 E    02   01 E    03   01 No「02」のみ所有している人はBさんとDさんになるわけですが、たくさんのデータがあるので、オートフィルタで抽出しましたが、 上手くいきません。 求める方法を教えてください。 よろしくお願い致します。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

わかりやすい作業列を作って対応する方法です。 D2セルには次の式を入力します。 =A2&B2 E2セルには次の式を入力します。 =IF(D2="","",IF(AND(COUNTIF(D$2:D2,D2)=1,COUNTIF(D:D,D2)=COUNTIF(A:A,A2)),1,"")) D2セルとE2セルを選択して下方にオートフィルドラッグします。 これで単品のみを持っている人に1の番号が付きます。 E列のオートフィルタで1を選択すればよいでしょう。

yuna21
質問者

お礼

回答を頂きありがとうございます! このとおりに行ったらできました!! この方法はとてもわかりやすく、こんな方法があるのかと。とても感動しました。 本当にありがとうございます。 これからもよろしくお願い致します。

その他の回答 (5)

  • mako_sea
  • ベストアンサー率47% (62/130)
回答No.6

No,2です。 遅くなりましたが、前回の回答を補足しますね。 >ここまでできれば、「氏名」~「総計」の行でオートフィルタして >No,01とNo,03が空白のものを選択すれば >No,02のみ持っているひとを表示可能です。 これは、No,2の画像の例で言うと ・5行目を選択します。 ・「データ」-「フィルタ」-「オートフィルタ」を実行します。 ・01と03の列のフィルタから、(空白セル)を選択します という流れになります。

yuna21
質問者

お礼

おはようございます。 画像付きでとてもわかりやすく教えてくださり、 人柄が伺えて、とても感動しました。 このとおりに行ったら上手くできました!!! 本当にありがとうございます! これからもよろしくお願い致します。

  • 245689731
  • ベストアンサー率22% (76/341)
回答No.4

書かれている字句通りに読めば >No「02」のみ所有している人はBさんとDさんになるわけですが、 単品か複品をどこで判断しているかやや不明です。 推測で書けば、台数フィールドかと思ったのですが、「B」さんは台数1台 かといってNOフィールド「02」はAさんBさんCさんDさんEさんすべてが合致するし もう少し詳細な条件判断はどこでなさっているのでしょう。

yuna21
質問者

補足

回答を頂きありがとうございます! AさんはNo01とNo02の商品を保有していますが、BさんはNo2の商品のみを保有しています。CさんはNo01とNo02とNo03の商品を保有しています。DさんはNo02の商品しか保有していません。 このようにNo2の商品のみ保有している人を抽出できればと思っております。 よろしくお願い致します。

回答No.3

D列に「02以外の製品数」を用意し、値が0のものをフィルタする方法もあります。 D2に =SUMPRODUCT(($A$2:$A$11=A2)*($B$2:$B$11<>"02")) として下へコピーします。フィルタで「0」のものを選択します。 ただ、この式では、Dが複数表示されます。 ひとつだけ表示するには、 =IF(A2=A1,"",SUMPRODUCT(($A$2:$A$11=A2)*($B$2:$B$11<>"02"))) とします。

yuna21
質問者

お礼

早速の回答をありがとうございます。 無事解決しました! ありがとうございました!!! 今後ともよろしくお願い致します。

  • mako_sea
  • ベストアンサー率47% (62/130)
回答No.2

ピボットテーブルを作成すると、効果的かもしれません。 ピボットテーブルウィザードを使って、 ・行のフィールド : 氏名 ・列のフィールド : No ・データアイテム : 台数 以上をセットすると、Noを横並びにした表が作成できます。 (画像右側の表です) ここまでできれば、「氏名」~「総計」の行でオートフィルタして No,01とNo,03が空白のものを選択すれば No,02のみ持っているひとを表示可能です。 ピボットテーブルの参考リンクもあげておきますね。

参考URL:
http://hamachan.info/excel/piboto.html
yuna21
質問者

お礼

早速の回答をありがとうございます! ピボットテーブルはできたのですが、せっかく教えてくださったのですが、空白のものを選択する方法がわかりません。 申し訳ありませんが、ご教授よろしくお願い致します。 >ここまでできれば、「氏名」~「総計」の行でオートフィルタして >No,01とNo,03が空白のものを選択すれば >No,02のみ持っているひとを表示可能です。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

こんなのはどうでしょう? D列を「保有品種」とでも名づけ、D2に↓の式を入れて下にコピー =SUMPRODUCT(($A$2:$A$11=A2)*($C$2:$C$11=1)) これでその人が持っている品種数がでます。 後はD列もオートフィルター範囲に設定して、 No=2、台数=1、保有品種=1 の条件で検索すれば、「02」のみ単品で所有している人求められます。

yuna21
質問者

お礼

早速の回答をありがとうございます! 書いて下さったとおりにしたら、見事できました!!! 本当に助かりました!ありがとうございます。 今後ともよろしくお願い致します。 ありがとうございました!!