- ベストアンサー
複数の条件での合計を出したいのです
エクセルの関数を使い 条件セル E2の値 条件の検索範囲の列Dから抜き出し その行のG列-H列-I列(G列の空白の時の値)の合計を出したい つまり E2=2の時 D列 G列 H列 I列 1行 1 2 2 2行 2 3 1 1 3行 2 2 2 答えは 3-1-2-2 こんな事を実現したいのですが 頭がグルグルしてしまってます ご指南ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
# 作表は 半角スペースを使うと崩れてしまいます 数式でやるなら =SUMIF(D1:D3,E2,G1:G3) - SUMIF(D1:D3,E2,H1:H3) - SUMPRODUCT((D1:D3=E2)*(G1:G3="")*(I1:I3)) VBAでやるなら 標準モジュールに Function myCalc(ByVal n as integer, rD as Range, rG as Range, rH as Range, rI as Range) as Integer dim sum as integer, i as integer Dim sum As Integer, i As Integer If rD.Rows.Count <> rG.Rows.Count Or _ rH.Rows.Count <> rI.Rows.Count Or _ rD.Rows.Count <> rH.Rows.Count Then Err.Raise 13 End If sum = 0 For i = 1 To rD.Rows.Count If rD(i, 1).Value = n Then sum = sum + rG(i, 1).Value sum = sum - rH(i, 1).Value If rG(i, 1).Value = "" Then sum = sum - rI(i, 1).Value End If End If Next myCalc = sum End Function として セルへの数式は =myCalc(E2,D1:D3,G1:G3,H1:H3,I1:I3) といった具合でしょう
お礼
どうも ありがとう御座いました。 SUMPRODUCT関数ですよね ?? やはり 良く理解できていないようで はまっていました すっきりです!! いつも ご指南頂きありがとう御座います。