• 締切済み

エクセル 関数 複数条件

お世話になります。 エクセル2013ver.を使用しております。 複数条件の関数(COUNTIF DCOUNTA)等について教えてください。 ■行いたい事■ 添付画像左側リストより、 (1)みかん&たまごを購入した人の買い物リストを抽出したい (2)みかん&たまごを購入した人数をカウントしたい 以上、2つの事を行いたいのですがうまくできません。 良い方法があればご教示お願い致します。 近しい事をされているのも見受けられましたが、 行き詰まってしまいました。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

>購入者が不特定多数いる中から≪みかん&たまご≫を買った人を探し出したい場合はどのような関数になりますでしょうか? フィルターの詳細設定の方が不特定多数向きでいろいろ応用も広いと思いますが。。。 関数で考えると、添付図のように補助列を使って、 D4:=IF(A4="みかん",C4,"") E4:=IF(A4="たまご",C4,"") F4:=IF(D4<>"",IF(COUNTIF($E$4:$E$15,D4)>0,D4,""),"") I4:=INDEX(A:A,SMALL(INDEX(($C$4:$C$1000<>$H$4)*1000+ROW($D$4:$D$1000),),ROW(A1)))&"" として下方向にコピーします。(これが関数の欠点です) 上の式はデータが1000行としています。必要なら3ヶ所の1000を変更してください。列全体でもできますが、計算時間がかかります。 F列に≪みかん&たまご≫を買った人が出てきます。 両方買った人をH4に入力するとその人の買い物リストが出てきます。

boleslaw
質問者

お礼

nishi6さんへ 無事動作を確認できました。 ご回答ありがとうございました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

みかん&たまごの「&」が曲者ですね。普通の関数やデータベース関数では難しいですね。 フィルターの「詳細設定」を使ってみました。データベースソフト的な使い方です。 (1)「みかんの購入者」 E3:食品、E4:みかん、G3:購入者 を入力 データ内部をクリック   データタブ>詳細設定   フィルターオプションの設定    抽出先:指定した範囲    リスト範囲:$A$3:$C$15    検索条件範囲:$E$3:$E$4    抽出範囲:$G$3    重複するレコードは無視する:チェックしてオン     ↓    購入者に山本、青木が抽出される   (2)&「たまごの購入者」 H3:食品、H4とH5:たまご、J3:購入者 を入力 データ内部をクリック   データタブ>詳細設定   フィルターオプションの設定    抽出先:指定した範囲    リスト範囲:$A$3:$C$15    検索条件範囲:$G$3:$H$5    抽出範囲:$J$3    重複するレコードは無視する:チェックしてオン     ↓    購入者に山本が抽出される    これが「みかん&たまごを購入した人数」で「一人」 (3)「買い物リスト」 L3:食品、M3:産地、N3:l購入者 を入力 データ内部をクリック   データタブ>詳細設定   フィルターオプションの設定    抽出先:指定した範囲    リスト範囲:$A$3:$C$15    検索条件範囲:$J$3:$J$4    抽出範囲:$L$3:$N$3    重複するレコードは無視する:チェックを外してオフ     ↓    買い物リストが抽出される

boleslaw
質問者

お礼

nishi6さんご回答ありがとうございます。 小生の質問の仕方が悪かったです。申し訳がございません。 購入者が不特定多数いる中から≪みかん&たまご≫を買った人を探し出したい場合はどのような関数になりますでしょうか?

関連するQ&A

  • ExcelのCOUNTIF関数で条件を複数定義する

    はじまして、こんにちは。 現在Excel(2000)でリストを作り、COUNTIF関数で計算する作業をしています。 そこで質問なんですが、現在"○"と"×"をデータとして入れ、 COUNTIF関数の検索条件で"○"とし、○ならカウントとしてリスト毎の合計数を計算しているんですが、 この方法だとデータが入っていないリストまで合計数が0になってしまします。 これではすべて×でも、データが入っていなくても0になってしまい、区別できなくて困っています。 これを、データが存在している場合の"○"の数と条件付けたいんですが、このような複数の条件設定はどうやれば出来るんでしょうか? 宜しくお願いします。

  • エクセル 複数条件でのカウント関数について

    添付ファイルのようなデータがあり、勤務区分が”日勤”かつ”1日”のデータ個数をカウントする関数、若しくは計算式を模索中です。 Web等を検索し、Counta関数、Countif関数、Dcountif関数など調べて使用してみましたが、 記述の仕方が悪いのかエラーとなりカウントできませんでした。 仕様ソフトはMicrosoft Excel 2003Versionです。 余談にはなりますが、これが出来れば、勤務区分=”日勤” and ”半日”という条件や、 勤務区分=”夜勤” and ”1日”、勤務区分=”夜勤” and ”半日”という種別に分けてカウントしたいと思っております。 よろしくお願いいたします。

  • Excel countifの複数条件

    Excelで作成したリストで年代別且つ、男女別を求める関数をご教示下さい。 年代別は、 =COUNTIF(A1:A10,">19")-COUNTIF(A1:A10,">29") で20代に人数を求めることが出来るかと思います。 また、男女別は、 =COUNTIF(C1:C10"男") で求められると思います。 これらを両方一緒に求める関数はありますでしょうか? ご教示お願いいたします。

  • Excelの関数がわかりません

    ExcelでSubtotalによって抽出されたデータを、Sumproduct関数で種類の数をカウントする方法がわかりません。 それぞれ、=subtotal(3,範囲) =SUMPRODUCT(1/COUNTIF(範囲,範囲)) までは、出来上がっておりますが、上記を組み合わせると数式エラーが発生します。 どのように組み合わせればよいか、または、全く違う方法があるのか是非お教えいただきたいと思います。

  • Excel データの個数を複数条件付きでカウントしたい

    OS:XP Ver.:Excel2003 Excelの関数で質問です。 いろいろ調べたのですがどうしてもわかりません。 お知恵をご拝借下さい。 A B C D 1月 2月 3月 りんご 250 0 300 みかん 150 80 0 りんご 88 150 200 いちご 0 300 85 ぶどう 0 350 89 (確認画面にするとずれてしまいますが、A列には品名、B~D列には月が入るようになっています。) 上記のような元データがあり、(実際はもっとたくさん) 1月    2月    3月 りんご みかん いちご ぶどう (こちらもずれてしまいますが、それぞれの月の品名ごとの集計を入れたいのです。) のような表を完成させたいと思います。 (1)表に入れるのは、合計数量ではなく【データの個数】です。 1月のりんごは2、みかんは1、という感じです。 ただし、0はカウントしたくないので、1月のいちごとぶどうは0を 返してほしいのです。 countifやsumproductなど考え付くあたり試してみましたが、うまくできません。 どういう数式(関数)を入れればよいのでしょうか? (2)2月以降のデータ範囲を指定する場合はどうすればいいのでしょうか?  1月ならA2:B6とするのかもしれませんが、2月の場合は1月列(B列)が不要ですよね?

  • 関数で可視セルのデータ個数カウント

    Excel2002を使用しています。 オートフィルタで抽出したデータの個数を関数で カウントしたいのですが、可視セルのみをカウント 出来る関数はあるのでしょうか? 例えば   A 1 件数 2  2 3  1 4  3 5  1 6 関数 A6セルに何らかの関数を入れておき、 A列のオートフィルタを使って、1を抽出した時は A6に”2” 3を抽出した時はA6に”1”を表示させたいの です。 このように、可視セルのデータ個数のみを カウントする関数はありますでしょうか? フィルタを使わずにCOUNTIF関数でカウントする 方法、また、可視セルをコピー貼り付け後 カウントする方法は避け、あくまでフィルタで 抽出したデータの個数を瞬時にカウントしたいの です。 ご教授宜しくお願いします。

  • Excel2010関数 複数条件で人数カウント-2

    Excel2010で複数条件を指定して人数をカウントする関数を作成したいのですがどうにもうまく出来ず、お手上げ状態になっています。 やりたい事は出席人数のカウントです。 B列に名前が、C列に○印が入った表があります。 B列の名前は2行1列が結合されたセルに入力されています。 C列の○印は、B列の名前セル(2行)に対し、上行が午前中の出席、下行が午後の出席です。 その日の出席人数(午前か午後に○が入っている人、もしくは午前午後に両方に○が入っている人)をカウントしたいのですが、この時の条件として作業列は使わず、1つのセルで答えを出さなくてはいけないのです。 添付の図の場合、答えはA、B、C、F、I、Jの6人となります。 先日似たような質問をさせて頂きましたが 条件が変わってしまったので再度質問させて頂きました。 http://okwave.jp/qa/q7833908.html 関数で、しかも作業列を使わず1つのセルでカウントできますでしょうか? お分かりになる方がいらっしゃいましたら教えて頂けると嬉しいです。 どうぞよろしくお願いいたします。

  • エクセル関数 データの抽出について

    エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2     A    B   C    D~AB32 1  "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし)  A 1  "" 2  "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。

  • Excel INDEX関数ズレて抽出される

    INDEX関数で行列番号取得にMATCH関数を使用したときにズレてしまう。 定例のミーティングの参加表を作成しようとしています。 シートの構成は添付画像の通りです。 Sheet1 定例のミーティングの参加表 巡回Aは月ごとに担当者が変わる。 Sheet2 巡回Aの月別の担当表 巡回Aの担当表を用意して、COUNTIF関数で参加表の氏名が巡回Aのリストに含まれていない場合(カウント0)は空欄にし、0以外の場合、INDEX関数で列番号のところにMATCH関数をネスト、MONTH(TODAY())+1とし、ex. 8月なら翌月の9月に該当する列番号を抽出して巡回Aの出席を月が変わると連動するようにしたいです。 =IF(COUNTIF($B$22:$B$29,$B3)=1,IF(INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))=0,"",INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))),"") 職場のExcel2016では列がズレてしまい、抽出ができないです。 Excel365では問題なく抽出ができました。 2016でズレるのは何故でしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

  • EXCELのデータベース関数について(DCOUNTA?)

    EXCELのデータベース関数について(DCOUNTA?) 住所録を作成していますが、ポイントは3点あります。 (1)1年間に入社した人(雇用形態)毎に人数を求めたいのです。 (2)今年度中に退職した方は残したままで、人数を計算したいのです。(退職日を入力) (3)今年度は人が増えるため、全体をテーブルとし、雇用者1人事をレコードとして処理していますが、そのためCOUNTIFSなどは用いず、簡単に計算するためデータベース関数を利用したいと考えています。 DCOUNAの関数は(Database,フィールド,Criteria)となりますが、Criteriaの条件を雇用形態と退職日を横に並べた値としたいが、退職日を空白の人を人数としたい為、空白とすると条件を選んでいないとして雇用形態のみ合致した人数をカウントしてしまうようです。 良い方法あればご教示ください。