我正试图为不太熟悉以下代码的人开发一个简短的宏。
我有一个类似于附件的文件,但要大得多。
对于那些想知道FMEA得分的人。
我想取每组黄色单元格的最大值*蓝色单元格的值*红细胞的最小值,并在绿色单元格中显示这个值。
对于我所列的数量,我很感激它只是简单地写公式。但是正如我所说的,文件本身要大得多,而且由于我试图显示列都有不同的长度,所以我不能只看5行,然后把公式复制下来,因为它不会在正确的位置。
有什么简单的方法吗?任何帮助都将不胜感激。

发布于 2018-09-20 18:17:14
这确实假定19是组中的最大项目数。
将其放入H2并复制如下:
=IF(A2<>"",MAX(C2:INDEX(C:C,AGGREGATE(15,6,ROW(C2:C20)/(C2:C20=""),1)))*E2*MIN(G2:INDEX(G:G,AGGREGATE(15,6,ROW(G2:G20)/(G2:G20=""),1))),"")如果19不是组中的最大数目,则将20s更改为每个组的最大项目数。

发布于 2018-09-20 18:55:47
假设每个“标题块”之间都有一个开放的中断,下面的内容应该适用于您。它可以作为一个公式输入,所需要做的就是创建一个新的宏,并将代码从下面粘贴到代码窗口。
Function minMax(ByVal rRange As Range, MinOrMax As String) As Double
Dim dMin As Double
Dim dMax As Double
Dim lLastRow As Long
Dim ws1 As Worksheet
Set ws1 = ActiveWorkbook.ActiveSheet
lLastRow = ws1.Cells(rRange.Row, rRange.Column).End(xlDown).Row
dMin = ws1.Cells(rRange.Row, rRange.Column).Value
dMax = dMin
For Each cell In rRange.Cells
If cell.Value < dMin Then dMin = cell.Value
If cell.Value > dMax Then dMax = cell.Value
Next cell
If InStr(1, MinOrMax, "min") = 1 Then
minMax = dMin
Else
minMax = dMax
End If
End Function要使用这个自定义函数,请输入您希望值为"=minMax(B1:B10,“Min”)的单元格,其中第二个参数应该是引用的Min或Max。键入"Min“将得到范围的最小值,而"Max”将生成范围的最大值。这个函数将支持无限的参数,并且不区分大小写。
https://stackoverflow.com/questions/52430865
复制相似问题