• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数条件での抽出をしたいです)

複数条件での抽出方法とは?

このQ&Aのポイント
  • エクセル関数を使って複数条件での抽出を行いたい場合、特定の条件を満たすデータを絞り込むことができます。
  • 例えば、特定の都道府県と回答結果を組み合わせた条件でデータを抽出することができます。
  • さらに、職業と組み合わせた条件でデータを絞り込むためには、複数の条件を組み合わせた式を使用する必要があります。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

作成例: =SUMPRODUCT(  (Sheet!$I$1:$I$5000={"茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"}) *(Sheet!$K$1:$K$5000="主婦") *ISNUMBER(FIND(INDEX($AH$1:$AH$10,COLUMN(F1)/2),Sheet!$O$1:$O$5000))  ) 前回の「関東列を追加するなどで合理化しましょう」といったアドバイスは変わりませんが,とりあえず趣味列の組み込みはだいぶイイ感じで合わせられてると思います。 ご質問の数式は他のケースで出てくるようなイミフメイの関数を利用していませんから,見た目だけで入っていっても,前回ご相談時点での最初のパターンの式とさほど変わらず慣れだけで組み上げていけます。

shonandesu
質問者

お礼

ありがとうございます!式を1つ1つ抜きっとってなんとか理解していきます。助かりました!

その他の回答 (3)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

(他の人が作った回答の?)関数を理解しないで そのまま使うのは保守できないことが多いので良くないですよ。 応用が利かない。 例えば 「出身都道府県」と「職業」と「出身都道府県(職業)」 こういう値があれば 「東京」で探したり、「主婦」で探したり「東京都(主婦)」で探したり することが可能になるかと思います。式を書くことがすべてではないです。 検索に必要な値を別途用意することも手段の一つです。 どうでしょうか。 すでにある式を活用したいなら、各パーツがどうなっているかを見ることからですね。 INDEX($AH$1:$AH$10,COLUMN(F1)/2),Sheet!$O$1:$O$5000) FIND(INDEX($AH$1:$AH$10,COLUMN(F1)/2),Sheet!$O$1:$O$5000)) ISNUMBER(FIND(INDEX($AH$1:$AH$10,COLUMN(F1)/2),Sheet!$O$1:$O$5000))) Sheet!$I$1:$I$5000={"茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"} SUMPRODUCT( ) どこから助けたらよいか明示してください。

shonandesu
質問者

お礼

今回ご回答頂きまして、 別の列で計算をしてそこから出力するという方法を学ぶことができました。 助けを必要としている部分を明確に出来ず、ご迷惑をおかけいたしました。 ありがとうございます!

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

難しい式を使うよりもご自分で理解できる式を使うことでしょう。 関東地方などの地方名が変わるたびに式を変えることも容易ではありません。 作業列を作って対応する方法です。一度お試しください。 R1セルには次の式を入力して下方にオートフィルドラッグします。 =I1&K1&O1 S1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(AA:AA,I1)=0,"",INDEX(AB:AB,MATCH(I1,AA:AA,0))&K1&O1) AA1セルには例えば茨城県と入力してAB1セルには関東地方とか入力します。他の県についても同様に下方に入力します。 お求めの答えを得る方法ですがU1セルには県や地域名と、V1セルには回答、W1セルには職業、とそれぞれ項目名を入力します。 U2セルには関東地方なら関東地方と入力します。V2セルには1とか2とか回答の数値を入力します。W2セルには職業、主婦などと入力します。 その上で該当人数ですが、それはX列に表示させることにしてX2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(AA:AA,U2)>0,COUNTIF(R:R,U2&W2&V2),IF(COUNTIF(AB:AB,U2)>0,COUNTIF(S:S,U2&W2&V2),""))

shonandesu
質問者

お礼

ありがとうございます。理解できる式を使いたいと思います!

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>例えば関東地方で回答1と答えた人は、下記の様な式を使って成功しています。 >=SUMPRODUCT((Sheet!$I$1:$I$5000={"茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"})*ISNUMBER(FIND(INDEX($AH$1:$AH$10,COLUMN(F1)/2),Sheet!$O$1:$O$5000))) 本当に「成功」しているのでしょうか? 「COLUMN(F1)/2」の意味が良くわからないのですが(セルが結合されている?)、上記の数式はO列に「1」と入力されているセルの合計ではなく「数字」を合計しています。 O列が1のセルの合計なら、Sheet!$O$1:$O$5000)の部分は(Sheet!$O$1:$O$5000)=1)として、カンマではなくすべて掛け算の式にするのが正解です(O列に文字列セルが含まれない場合)。 >上記の回答から更に、K列で主婦と答えた人で絞りたいのですが、それはどういった式を書けばよろしいでしょうか。 通常なら、以下のようにK列のデータが「主婦」という条件を「*」で追加するだけです。 (Sheet!$K$1:$K$5000="主婦") >誰か助けて下さい。自分の手に負えない式をみなさんのお力を借りて書いていたら分からなくなってしいまいました。 ご自分で理解できない数式を使用した場合は、数式が正しい値を表示していないときに間違いに気がつかないので、重大なミスを犯す恐れがあります。 したがって、SUMPRODUCT関数の配列数式の意味を十分に理解してから使用するようにしたほうが良いと思います。

shonandesu
質問者

お礼

ありがとうございます!地に足のついたやり方をしたいと思います。

関連するQ&A

専門家に質問してみよう