Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/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
Vb.net 选择与月份和类型匹配的日期范围_Vb.net_Excel_Vba - Fatal编程技术网

Vb.net 选择与月份和类型匹配的日期范围

Vb.net 选择与月份和类型匹配的日期范围,vb.net,excel,vba,Vb.net,Excel,Vba,我有一系列的日期: --ID------Date-----Type 123 |10/27/2013| 1 124 |11/27/2013| 2 125 |12/27/2013| 3 ... ... ... 我需要选择日期为10月的所有类型“1”项的总和。 我试着通过每一个重复: For i = 7 To tmRowCount If (person.Cells(i, "D").Value = ctype) Then cmth = M

我有一系列的日期:

--ID------Date-----Type
 123  |10/27/2013|  1
 124  |11/27/2013|  2
 125  |12/27/2013|  3
 ...      ...      ...
我需要选择日期为10月的所有类型“1”项的总和。 我试着通过每一个重复:

For i = 7 To tmRowCount
    If (person.Cells(i, "D").Value = ctype) Then
        cmth = Month(person.Cells(i, "C").Value)
            If cmth = mth Then
                c = c + 1
            End If
    End If
Next i
但是它非常慢,一旦我收到大量的参赛作品,它就不能很好地发挥作用

=SUMPRODUCT((MONTH(A2:A10)=10)+0, (B2:B10=1)+0)
这里的
A2:A10
是包含要查找的日期的范围,
B2:B10
是类型列


查看详细说明

您还可以尝试使用
.Find
.FindNext
组合来定位筛选条件。我发现这种方法在大多数情况下都比完整循环快

非常好,谢谢:
Evaluate(=SUMPRODUCT((月)(&Chr(39)&person.Name&Chr(39)&C7:C1000)=&mth&+0,(&Chr(39)&person.Name&Chr(39)&Chr(39)&D7:D1000=“&Chr(34)&ctype&Chr(34)&0)”)