首页 > 解决方案 > VBA 中的嵌套条件

问题描述

我是 excel 和 VBA 的新手,所以为愚蠢的问题或错误道歉。

我在 sheet2 中有一些 2000 excel 数据,在 sheet 1 中有数据 req

示例图像请检查此

我需要知道有多少以 INC 和优先级 P2 P3 开头的票,以及有多少以 SR 开头的票。其中还有多少处于关闭状态,有多少处于活动状态。

Sub US_Data()
Dim z As Long
Dim C As Range

z = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
For Each C In Sheet2.Range(Sheet2.Cells(2, 1), Sheet2.Cells(z, 1))
  If Left(C.Value, 3) = "INC" Then
    Sheet1.Cells(8, 6) = Sheet1.Cells(8, 6) + 1

  End If
Next C
End Sub

谢谢

标签: excelvba

解决方案


为什么要使用 VBA?这可以通过简单的公式来完成。如果您不想使用数据透视表,请手动创建标题(屏幕截图中的蓝色),然后将此公式放入单元格 H3,并向下复制。

=COUNTIFS($A:$A,$G3&"*",$B:$B,H$1,$C:$C,H$2)

在此处输入图像描述

如果需要,请更改布局。关键是你不需要VBA。公式将比使用 VBA 重新发明 CountIfs 快得多。


推荐阅读