1

私はVBAの初心者で、列Dの各行にsumif関数を書き込もうとしていますが、基準列の最後の値まで、各行の基準と合計列範囲を変更します。

例:行4から開始して、最初の合計と基準の範囲は4:4、2番目の範囲は4:5、3番目の範囲は4:6などになります。

答えは次の例のようになりたいのですが、列Aに「x」が含まれる行には8しか表示されません。

以下の例では、D列として表示するように考えている人がいます。

ワークシート:

column A B C D E
4      x   1 1
5      x   2 3
6      y   1  
7      y   3 
8      z   4 
9      x   5 8

コード:

llistrow = ThisWorkbook.Worksheets(Source).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row - 1
For i = 4 To llistrow Step 1
    revisedbudget1314 = Application.WorksheetFunction.SumIf( _
        Arg1:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 1), Cells(i, 1)), _
        Arg2:="x", _
        Arg3:=ThisWorkbook.Worksheets(Source).Range(Cells(4, 3), Cells(i, 3)))
Next i 
4

1 に答える 1

0

この数式をセルに入力しますD1

=IF(A1="x", SUMIF(A$1:A1, "=x", C$1:C1), "")

列の他のセルに対してそれを乗算するだけです(右下隅の小さな長方形をD選択してダブルクリックします)D1

より多くの人が見られるように、質問にはより適切なタグ (excelまたは など) を使用してください。spreadsheet

于 2012-11-15T07:23:39.793 に答える