前提・実現したいこと
以下のような数式の結果をVBAで設定したいと思っています。
以下の構文は、
「K列の値が"01"」
「L列の値が"2"または"3"」
「M列の値が"2"」
という数式で、Excel上での数式だと正常に動きます。
vb
1=SUM(SUMIFS($AV:$AV, $K:$K, "01", $L:$L, {2,3},$M:$M,2))
発生している問題・エラーメッセージ
"{","}"は不正な文字です。
該当のソースコード
vb
1.Cells(xRow, 48).Value = WorksheetFunction.Sum(WorksheetFunction.SumIfs( _ 2 .Range(.Cells(25, 48), .Cells(eRow, 48)), _ 3 .Range(.Cells(25, 11), .Cells(eRow, 11)), "01", _ 4 .Range(.Cells(25, 12), .Cells(eRow, 12)), {3, 2}, _ 5 .Range(.Cells(25, 13), .Cells(eRow, 13)), 2))
試したこと
以下の2通りを試しましたが、構文エラーとなりました。
vb
1.Cells(xRow, 48).Value = WorksheetFunction.Sum(WorksheetFunction.SumIfs( _ 2 .Range(.Cells(25, 48), .Cells(eRow, 48)), _ 3 .Range(.Cells(25, 11), .Cells(eRow, 11)), "01", _ 4 .Range(.Cells(25, 12), .Cells(eRow, 12)), Array(3, 2), _ 5 .Range(.Cells(25, 13), .Cells(eRow, 13)), 2))
vb
1.Cells(xRow, 48).Value = [Sum(SumIfs( _ 2 .Range(.Cells(25, 48), .Cells(eRow, 48)), _ 3 .Range(.Cells(25, 11), .Cells(eRow, 11)), "01", _ 4 .Range(.Cells(25, 12), .Cells(eRow, 12)), Array(3, 2), _ 5 .Range(.Cells(25, 13), .Cells(eRow, 13)), 2))]
SumIfsの「3or2」の部分を分解して「SuIfs文+SumIfs文」のような感じにするしかないのでしょうか?
詳しい方、ご教授していただけないでしょうか。
そこんところはどういう動作をさせたいんでしょうか。
具体例も提示しましょう
回答2件
あなたの回答
tips
プレビュー