Excel – 查找select内的所有值

我正在寻找一种方法让Excelfind一个实例的所有值,例如一定范围内的“ABC”,然后返回并求和相应的值。

我一直在寻找这样做的VBA函数,但有一个更简单的方法吗?

谢谢!

RobertMS是正确的,SUMIF函数将工作:

ABC | 1 DEF | 1 ABC | 3 Sum of ABC | =SUMIF(A1:A3,"ABC",B1:B3) 

如果你需要一个VBA函数来查找一个范围内的所有值,那么这样的事情会有帮助:

 Public Function FindAllInRange(Source As Range, Value As String) As Collection Dim Result As New Collection Dim CurCell As Range Dim ColIndex As Long Dim RowIndex As Long Dim Address As String ' Iterate through columns then rows For ColIndex = 1 To Source.Columns.Count For RowIndex = 1 To Source.Rows.Count Set CurCell = Source(RowIndex, ColIndex) ' Match the value (adjust this to your needs) If CurCell.Value = Value Then Address = CurCell.Worksheet.Name & "!" & CurCell.Address Debug.Print "Found match '" & Value & "' at: " & Address Result.Add CurCell, Address End If Next RowIndex Next ColIndex Set FindAllInRange = Result End Function Public Sub TestFindAllInRange() Dim Result As Collection Set Result = FindAllInRange(Selection, "ABC") Debug.Print "Found " & Result.Count & " cells" End Sub 

如果SUMIF适合您的需求,SUMIF就容易得多。 如果你使用VBA函数,那么总结这些值还有一些工作要做。 得到结果集合的计数很容易,但是需要对结果进行求和。

你看过SUMIF函数吗? 听起来像是会为你做的伎俩。

他们最灵活和可重用的解决scheme将是从您的数据创build一个数据透视表