- ベストアンサー
Excel(エクセル)の式で条件に一致した値を取得する方法
- エクセルの式を使用して、特定の条件に一致した値を取得する方法について教えてください。
- エクセルのデータには、ハード、ジャンル、ソフト名の3つの条件があります。これらの条件に一致するデータの販売本数と買い取り件数を取得する方法を教えてください。
- 現在はオートフィルタや手入力で数字を入力していますが、効率的に3つの条件に一致したデータの販売本数と買い取り件数を取得するための式があるか知りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Excel2007以降をご利用であればSUMIFS関数が使えましたが,2003までのエクセルでは J2: =IF(COUNTA($G2:$I2)=3,SUMPRODUCT(($A$2:$A$100=$G2)*($B$2:$B$100=$H2)*($C$2:$C$100=$I2), D$2:D$100),"") K列にコピー,下にコピー のように。 範囲を大きく取りすぎると加速度的に重たくなっていくので,ほどほどにして使います。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
エクセル2007以後ではSUMOFS関数で3条件指定。 2003までならSUMPRODUCT関数で出来るありふれた(SUMなど使っている次のレベル)課題です。 SUM-SUMIFーSUMIFS(またはSUMPRODUCTまたは配列数式でIF・SUM) 関数名だけでも思い出せばGoogleででも照会すれば沢山解説記事がある。 または「EXCEL 条件 加算」で照会すれば沢山記事がある。その中から複数条件のことを触れたものを探す。 http://www.geocities.jp/chiquilin_site/data/050208_more_conditions.html 外多数。
お礼
WEBサイトで検索してさがしたつもりでしたが、 今後はもう少しよく確認するようにします。 アドバイス、ありがとうございました!
- kagakusuki
- ベストアンサー率51% (2610/5101)
因みに、SUMIFS関数を使用する場合には、次の様な数式となります。 =IF(COUNTA($G2:$I2)=3,SUMIF(D:D,$A:$A,$G2,$B:$B,$H2,$C*$C,$I2),"") それから、御使いのExcelのバージョンがExcel2003以前の場合で、且つ、SUMPRODUCT関数では計算時間が長くなり過ぎる場合には、作業列を使用する方法があります。 例えば仮に、元の表が存在しているシートがSheet1で、Sheet2のA列を作業列として使用するものとします。 まず、Sheet2のA2セルに次の数式を入力して下さい。 =Sheet1!A2&Sheet1!B2&Sheet1!C2 次に、Sheet2のA2セルをコピーして、Sheet2のA3以下に貼り付けて下さい。 次に、Sheet1のJ2セルに次の数式を入力して下さい。 =IF(COUNTA($G2:$I2)=3,SUMIF(Sheet2!$A:$A,$G2&$H2&$I2,D:D),"") 次に、Sheet1のJ2セルをコピーして、Sheet1のK2セルに貼り付けて下さい。 次に、Sheet1のJ2~K2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。 以上です。
お礼
詳しい説明、ありがとうございました! 教えていただいた内容は、今後、データ集計をするにあたって 利用させていただきます。
お礼
ありがとうございました。 おかげで、できました!