Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于两个变量循环范围和计数_Excel_Vba_Loops_Excel Formula - Fatal编程技术网

Excel 基于两个变量循环范围和计数

Excel 基于两个变量循环范围和计数,excel,vba,loops,excel-formula,Excel,Vba,Loops,Excel Formula,我正在尝试开发一个代码,它允许我在一个范围内循环,并创建具有2个条件的行总数 对于下面的示例,我想循环第2-12行,并在每一行有单词“Pway”和“T-4”时增加计数器。然后将结果放入单元格G2。 我以前玩过循环,但从未玩过两个变量 有人能帮忙吗 在G2中添加以下公式并将其向下拉 =COUNTIFS($A$2:A2,"Pway",$D$2:D2,"T-4") 要获得以下结果: 在G2中添加以下公式并将其向下拉 =COUNTIFS($A$2:A2,&quo

我正在尝试开发一个代码,它允许我在一个范围内循环,并创建具有2个条件的行总数

对于下面的示例,我想循环第2-12行,并在每一行有单词“Pway”和“T-4”时增加计数器。然后将结果放入单元格G2。 我以前玩过循环,但从未玩过两个变量

有人能帮忙吗


在G2中添加以下公式并将其向下拉

=COUNTIFS($A$2:A2,"Pway",$D$2:D2,"T-4")
要获得以下结果:


在G2中添加以下公式并将其向下拉

=COUNTIFS($A$2:A2,"Pway",$D$2:D2,"T-4")
要获得以下结果:


请尝试VBA解决方案:

Sub countTwoCriteria()
 Dim sh As Worksheet, arr, lastR As Long, i As Long, count As Long
 
 Set sh = ActiveSheet
 lastR = sh.Range("A" & sh.rows.count).End(xlUp).row
 
 arr = sh.Range("A2:D" & lastR).value
 
 For i = 1 To UBound(arr)
    If UCase(arr(i, 1) & arr(i, 4)) = UCase("Pway" & "T-4") Then count = count + 1
 Next i
 If count > 0 Then sh.Range("G2").value = count
End Sub

请也尝试VBA解决方案:

Sub countTwoCriteria()
 Dim sh As Worksheet, arr, lastR As Long, i As Long, count As Long
 
 Set sh = ActiveSheet
 lastR = sh.Range("A" & sh.rows.count).End(xlUp).row
 
 arr = sh.Range("A2:D" & lastR).value
 
 For i = 1 To UBound(arr)
    If UCase(arr(i, 1) & arr(i, 4)) = UCase("Pway" & "T-4") Then count = count + 1
 Next i
 If count > 0 Then sh.Range("G2").value = count
End Sub

你可以用公式来做这件事,你需要vba吗?我现在对所有选项都持开放态度。
如果AnswerToAboveComment=“Yes”那么
你可以嵌套2个
如果……那么
语句来检查1个条件,如果满足,那么检查第2个,如果满足,增加一个计数器变量。基本上:
=COUNTIFS(a:a,“Pway”,D:D,“T-4”)
你可以用公式来做这件事,你需要vba吗?我现在对所有选项都持开放态度。
如果回答bovecomment=“Yes”,那么你可以嵌套2个
如果……那么
语句来检查1个标准,如果满足,那么检查第2个,如果满足,则增加一个计数器变量。基本上:
=COUNTIFS(a:a,“Pway”,D:D,“T-4”)