2016-12-30 11 views
0
arr1 = Array("chocolate","icecream","sweet") 

For Each elem In arr1 '<--| loop through 1st array list 
       fooditem = fooditem + WorksheetFunction.CountIfs(.Columns(1), "sugar", .Columns(20), "yes", .Columns(31), elem) 
      Next elem 

ここでは、出力はチョコレートまたはアイスクリームまたはスイートのいずれかの結果を示しています。私は合計数を追加したいと思います。 つまり、合計カウントはアイスクリーム+チョコレート+スイートに等しい必要があります。 例えば、これは= sum(countif(........))です。VBA EXCEL:すべてのカウント値を合計するにはどうすればよいですか?

vbaでこれを書き込む方法は?

本当にありがとうございます。 ありがとうございました。

+2

あなたが上記のコードは私のために働くようです。それは3つすべてを数え、合計します。なぜ= SUM(COUNTIFS(A:A、 "砂糖"、T:T、 "はい"、AE:AE、{"チョコレート"、 "アイスクリーム"、 "甘い"}) –

+0

これについてのVBA関数を教えてもらえますか? – user007

+1

ループはうまく動作し、テストして正しい答えを得ました。 –

答えて

0

あなたがそうのように、Application.SumIf機能を使用できます。

Application.SumIf(Range("B2:B4"), Array("chocolate", "icecream", "sweet"), Range("C2:C4")) 

をしかし、両方の最初と最後の引数は、範囲のオブジェクトでなければなりません。最初のものは検索対象の範囲で、最後のものは対応する合計の範囲です。この場合、対応する合計が1に等しいという事実は問題ではありません - それでも範囲オブジェクトでなければなりません(したがって、1はワークシートのどこかに書き込まなければなりません)。

あなたが探しているものに近いですか?ありがとう

関連する問題