构造嵌套的if excel公式

时间:2018-06-01 13:25:05

标签: excel

我有一个需要识别结果的场景。下面是一个带有三列Prod Name, Qty and Result的excel单元格样本。

Prod Name    Qty     Result
abc          10 
zyz          9  
test1        5  

如果产品名称为abc or zyz且其数量为10,那么我需要在列结果中添加文本Refill

对于任何其他产品。在这种情况下test1,其数量为5,那么我需要在列结果中添加相同的文本Refill

否则它将始终为Don't Refill

2 个答案:

答案 0 :(得分:4)

试试这个公式:

=IF(OR(AND(OR(A1="abc", A1="xyz"), B1=10), AND(AND(A1<>"abc", A1<>"xyz"), B1=5)),
    "Refill",
    "Don't Refill")

答案 1 :(得分:0)

Tim提供的公式应该很好用,但是如果你正在寻找VBA方法:

  

(假设数据位于名为Table1的表中,名为   工作表Sheet)

Private Sub comb_products()

  Dim tbl As ListObject: Set tbl = Sheets("Sheet1").ListObjects("Table1")

For Each Rng In tbl.ListColumns(1).DataBodyRange


 If ((Rng.Value2 = "abc" Or Rng.Value2 = "zyz") And Rng.Offset(0, 1).Value2 = 10) Then
        Rng.Offset(0, 2).Value2 = "Refill"
 ElseIf ((Rng.Value2 <> "abc" Or Rng.Value2 <> "zyz") And Rng.Offset(0, 1).Value2 = 5) Then
        Rng.Offset(0, 2).Value2 = "Refill"
 Else
        Rng.Offset(0, 2).Value2 = "Don't refill"
 End If

Next Rng

End Sub

按预期结果:

enter image description here