首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel,Min/Max宏不同范围

Excel,Min/Max宏不同范围
EN

Stack Overflow用户
提问于 2018-09-20 18:06:43
回答 2查看 770关注 0票数 0

我正试图为不太熟悉以下代码的人开发一个简短的宏。

我有一个类似于附件的文件,但要大得多。

对于那些想知道FMEA得分的人。

我想取每组黄色单元格的最大值*蓝色单元格的值*红细胞的最小值,并在绿色单元格中显示这个值。

对于我所列的数量,我很感激它只是简单地写公式。但是正如我所说的,文件本身要大得多,而且由于我试图显示列都有不同的长度,所以我不能只看5行,然后把公式复制下来,因为它不会在正确的位置。

有什么简单的方法吗?任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-20 18:17:14

这确实假定19是组中的最大项目数。

将其放入H2并复制如下:

代码语言:javascript
复制
=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更改为每个组的最大项目数。

票数 3
EN

Stack Overflow用户

发布于 2018-09-20 18:55:47

假设每个“标题块”之间都有一个开放的中断,下面的内容应该适用于您。它可以作为一个公式输入,所需要做的就是创建一个新的宏,并将代码从下面粘贴到代码窗口。

代码语言:javascript
复制
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”将生成范围的最大值。这个函数将支持无限的参数,并且不区分大小写。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52430865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档