我正在尝试创建一个公式,以检查彼此相邻的4个单元格是否具有相同的数字(一次为正,一次为负),请参见示例:
如果公式显示有加号50和减号50,则必须为右侧的单元格或带有蓝色的单元格着色。
如果一个商店出售大量该产品,并且可能会用光它们请另一家商店补货该产品,则该列表是多个商店的库存。有时他们忘了发送笔记。该列表应该使控件尽可能容易。
如果其中两个单元格的正负值相同,我希望公式将列表右侧的单元格着色为蓝色。
我尝试使用单元格格式设置规则,但无法做到这一点。
另一个例子,因为人们似乎在理解公式应该执行的操作时遇到困难:
我将每个单元格标记为蓝色(如公式所示),而黄色则是原因。
答案 0 :(得分:3)
您可以使用条件公式,使用以下公式(仅适用于第一行)来做到这一点:
=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
列中的所有单元格。
答案 1 :(得分:2)
尝试:
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