2017-01-01 8 views
-1

Excelシートに数値の列を入れたいと思います。特定のセルの値が0より小さい場合は、この負の値を別のセルの値から減算します。例: - D5から減算する何Substract値が0より小さい場合にセルからの値

D5は、値300を含んでいる

D6は、値5が含まれています。

D7には値-1が含まれます。現在はD5-D7(または実際はD5 +(-D7)、D5:299の結果)です。

D8には値0が含まれています。

D9には値-100が含まれています。現在はD5-D7-D9(D5:300-1-100 = 199の結果)を引きます。

など...

どうすればいいですか?

+0

あなたは、独自のセルに結果が欲しいか、既存の値を置き換えたいですか? –

+0

@Garyの研究目標はD5値のみを更新することです。だから私の例に基づいて、値-99のD10セルを追加するとD5の値は100(300-1-100-99 = 100)になります。 – mchfrnc

答えて

2

変更値にはナクロが必要です。私たちがして起動した場合:

enter image description here

まずセルを選択D5と、この短いマクロを実行します。

Sub DecreaseValue() 
    Dim N As Long, i As Long, M As Long 

    N = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row 
    M = ActiveCell.Column 

    For i = ActiveCell.Row + 1 To N 
     If Cells(i, M).Value < 0 Then 
      ActiveCell.Value = ActiveCell.Value + Cells(i, M).Value 
     End If 
    Next i 
End Sub 

これが生成されます:

enter image description here

あなたが使用して回避することができます減少した値を保持するために別のセルを使用することによってマクロ。例えば、セルでE5は、次のように入力します

=D5+SUMPRODUCT((D6:D9999<0)*(D6:D9999)) 

enter image description here

+0

ありがとうございました! 2番目のソリューション(追加のセルを使用)は、まさに私が必要とするものです。 – mchfrnc

+0

@mchfrncフィードバックいただきありがとうございます。 –

関連する問題