Excel中。使用If Then增加另一个单元格的值

时间:2014-11-06 00:03:09

标签: excel excel-vba excel-formula vba

如果有人提出这样的问题,我很抱歉,但是我遇到了很多擅长的问题而无法找到解决这个问题的事情。

我有2列。我想看看一列是否比另一列少。如果是,在第三列中我希望单个单元格获得+ 1.因此,如果两个列A的单元格小于列B,则列C将显示值2,然后打开。

作为奖励,我希望第三栏能够在另一张纸上,我可以自己弄清楚,但我相信有人可以做得更好。

澄清:如果A1 < B1然后C1 = C1 + 1并且如果A2

如果不低于,则不会发生任何事情。

3 个答案:

答案 0 :(得分:1)

引用不同工作表中的单元格:工作表名称后跟“!”然后是细胞。例如“= Sheet1!A1

Excel公式中不允许循环引用。但是,您可以使用宏来执行此操作。如果A1和B1的值不相等,则以下宏将向单元格C1添加一个

Sub addOneToCell()
val1 = Range("A1").Value
val2 = Range("B1").Value
val3 = Range("C1").Value

If val1 <> val2 Then Range("C1").Value = val3 + 1

End Sub

<强>更新

这与上面相同,但是迭代细胞。 警告如我所料,它非常慢:

Sub addOneToCell()

For i = 1 To Rows.Count

    If Not IsEmpty(Cells(i, 1).Value) And Not IsEmpty(Cells(i, 2).Value) And Cells(i, 1).Value <> Cells(i, 2) Then Range("C1").Value = Range("C1").Value + 1

Next i

End Sub

答案 1 :(得分:1)

我正在读这个问题为“如何计算A列中值小于B列中相应值的总数?”

如果这是正确的,那么你想在单元格C1中使用数组公式:

=sum(if(A1:A10<B1:b10,1,0))

当你输入时,输入control-shift-enter all。这应该看起来像这样:

={sum(if(A1:A10<B1:b10,1,0))}

并且应该显示单元格c1中的总计数。

答案 2 :(得分:0)

可能有更好的方法,但我会这样开始。

  1. =if(a1<b1,1,0)
  2. 的第一行提供公式
  3. =c1+if(a2<b2,1,0)
  4. 的第二行提供公式
  5. 在数据集中填满第二行