簡體   English   中英

如何檢查單元格值是否彼此平衡

[英]How to check if Cell values balance each other

我正在嘗試創建一個公式,以檢查彼此相鄰的4個單元格是否相同,一次為正,一次為負,請參見示例:

重新創建工作表的示例

如果公式顯示有加號50和減號50,則必須為右側的單元格或帶有藍色的單元格着色。

如果一個商店出售大量該產品,並且可能會用光它們請另一家商店補貨該產品,則該列表是多個商店的庫存。 有時他們忘了發送筆記。 該列表應該使控件盡可能容易。

我希望如果兩個單元格的正負值相同,則公式會將列表右側的單元格着色為藍色。

我嘗試使用單元格格式設置規則,但無法做到這一點。

另一個示例,因為人們似乎難以理解公式應執行的操作:

我將每個單元格都標記為藍色(如公式所示),而黃色值就是原因。

在此處輸入圖片說明

您可以使用條件公式,使用以下公式(僅適用於第一行)來執行此操作:

=OR(A1+B1=0;B1+C1=0;C1+D1=0)

此公式檢查兩個相鄰單元格的總和是否等於零,這是另一種表示它們應具有相同值但符號相反的方式。

顯然,您可以考慮更改此公式,例如:
代替:

A1+B1=0

你把:

AND(A1+B1=0;A1<>0)

當兩個值的總和等於零且其中至少一個不為零時,則兩者都不為零。

所有這些都在一個公式中得出:

=OR(AND(A1+B1=0;A1<>0);AND(B1+C1=0;B1<>0);AND(C1+D1=0;C1<>0))

在單元格E1的條件格式中使用這樣的公式,並將其應用於E列中的所有單元格。

嘗試:

Option Explicit

Sub test()

    Dim Row As Long, Column As Long
    Dim rng As Range

    'Let us assume that we use Sheet1 & columns A to F
    With ThisWorkbook.Worksheets("Sheet1")

        For Row = 2 To 100 ' <- Let us assume that data starts in row 2 and ends in row 100
            Set rng = .Range("B" & Row & ":E" & Row)

            For Column = 2 To 6
                If .Cells(Row, Column).Value <> 0 Then
                    If Application.WorksheetFunction.CountIf(rng, (-1 * .Cells(Row, Column).Value)) > 0 Then
                        .Range("F" & Row).Interior.Color = vbBlue
                        Exit For
                    End If
                End If
            Next Column
        Next Row

    End With

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM