string的最大值和最小值

我有如下所示的数据: http : //bit.ly/1O6aaWX

对于每个部门,我必须计算最小,最长等待时间,如果可能的话,也是平均时间。 没有。 的部门可以是dynamic的。 我不知道如何做到这一点。

以下面的例子为例:

在这里输入图像说明

您需要使用SUMIF()来获得列E中的总数

http://www.techonthenet.com/excel/formulas/sumif.php

在你的情况下,你需要以下(第2行):

 =SUMIF($B$2:$B$11,"=" & D2,$C$2:$C$11) 

然后在列F(第2行)中的COUNTIF

https://support.office.com/en-za/article/COUNTIF-function-e0de10c6-f885-4e71-abb4-1f464816df34

 =COUNTIF(B2:B11,"="&D2) 

平均数显然是总和/数!

然后,您可以使用以下信息来计算最大值和最小值… http://www.contextures.com/excelminmaxfunction.html#minif

通过将部门名称放在D列中,并在SUMIF\COUNTIF forumals中引用它,只要您想要,就可以创build一个部门列表!


注意 MINIF例子是一个数组公式,最好先看看,如果你以前从来没有用过… http://www.excel-easy.com/functions/array-formulas.html


如果你真的必须使用VBA,那么这将适用于我在这篇文章顶部显示的示例工作表…

 Sub CalculateStuff() Dim dDepartmentTotals(4) As Integer Dim dDepartmentMinimum(4) As Integer: For i = 1 To 4: dDepartmentMinimum(i) = 32767: Next i Dim dDepartmentMaximum(4) As Integer Dim dDepartmentAverage(4) As Integer Dim dDepartmentCount(4) As Integer For i = 2 To 11 ideptno = CInt(Right(Sheets("Sheet1").Cells(i, 2), 1)) dDepartmentTotals(ideptno) = dDepartmentTotals(ideptno) + Sheets("Sheet1").Cells(i, 3) If dDepartmentMaximum(ideptno) < Sheets("Sheet1").Cells(i, 3) Then dDepartmentMaximum(ideptno) = Sheets("Sheet1").Cells(i, 3) If Sheets("Sheet1").Cells(i, 3) < dDepartmentMinimum(ideptno) Then dDepartmentMinimum(ideptno) = Sheets("Sheet1").Cells(i, 3) dDepartmentCount(ideptno) = dDepartmentCount(ideptno) + 1 Next i For i = 1 To 4 dDepartmentAverage(i) = dDepartmentTotals(i) \ dDepartmentCount(i) Next i End Sub