Excel:从变量范围中获取最大值

Excel:从变量范围中获取最大值

在此处输入图片描述

我需要从可变数量的行和列中检索最大值,其中行标题等于某个值,上面例子中的 300 将返回最大值 15。

我正在尝试创建一个公式,其中行标题(例如 300)将是一个变量,以便可以返回行标题 300 或 600 等的最大值。

如何获取以 300 为标题的所有行的范围或数组,以便我可以在该范围上使用 Max 函数?

答案1

把你的300F1,然后在D1放入数组公式:

=MAX(IF(A1:A100=F1,B1:C100))

数组公式必须使用 ++Ctrl而不是直接使用键来输入。如果操作正确,公式栏中会出现带有花括号的公式。ShiftEnterEnter

在此处输入图片描述

由于专栏A标准,101在行上14被忽略。

答案2

如果您有 Office 365 Excel,则正常公式:

=MAX(MAXIFS(B:B,A:A,300),MAXIFS(C:C,A:A,300))

您可以将 300 替换为单元格地址。由于这不是数组公式,因此它将允许完整列引用而不会造成损害。

答案3

这是一个更通用的答案:

假设您要计算从第 6 行到第 N 行的数组中第 i 行到第 j 行的连续子集在 C 和 D 列中出现的数值的最大值(或最小值、中位数等),其中“行”的值输入在 B 列中。让 i 的显式值在 B2 中指定,让 j 的显式值在 B3 中指定(--这些值可能已在电子表格的其他地方预先计算过);这里,为了透明起见,让 i = 9 和 j = 14,n = 15。

这是我开发的 Excel2003 代码,它似乎运行良好:

{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,C6:C15),""))} ,返回 MAX(C9:C14) ;并且,

{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,D6:D15),""))} ,返回 MAX(D9:D14) 。

只需将 MAX 更改为 MIN 或其他函数名称,即可进行类似的计算。但是,不要忘记重新安装(Ctrl-Shift-Enter)那些“花括号”,每次操作语句时它们都会消失。

相关内容