Excel - 根据多个条件在多个行范围内查找最大值

Excel - 根据多个条件在多个行范围内查找最大值

我需要工作表函数的帮助,以便在 Excel 中搜索和显示最大值。我有 3 个输入列和 1 个输出列,定义如下:

*COLUMN A:包含数值(大部分是随机的)。

*COLUMN B:代表第一个参数,它只能包含文本“text01”或“text02”

*COLUMN C:代表第二个参数,它只能包含文本“是”或“否”。

*COLUMN D:根据 B 列和 C 列中定义的标准显示 A 列的最大值。

MAX 函数的条件如下:

  1. 使用定义的单元格范围从 A 列中的数字中返回最大数值。

  2. MAX 函数的单元格范围定义如下:范围的第一个单元格由 B 列中的参数定义,如果 B 列中的值为“text01”,则范围将从下一行中的单元格开始(例如 B1 =“text01”,MAX 函数范围将从单元格 A2 开始)。范围的结束由 C 列中的参数定义 - 仅当 C 列中的值为“yes”时,范围才会继续。范围的结束由 C 列单元格中出现值“no”的点定义。例如:C2="yes"、C3="yes"、C4="no",这意味着 MAX 函数将使用 A4 作为范围的最后一个单元格。

  3. MAX 函数仅当 B 列值为“text01”且下一行的 C 列值为“yes”时有效(例如 B1 = “text01”,C2="yes")。否则不搜索 MAX 值。

  4. 相应范围的最大值显示在 D 列中,对于每个范围,最大值显示在由范围开头定义的行中。其他行填充有文本“无”。

我应该在 D 列中输入什么函数?如果可能,请提供数组和非数组类型的公式。

我尝试使用 IF 函数来定义 MAX 范围的开始,例如如果 B="text01" 则计算 MAX 值。对于 MAX 值范围的开始,我使用了 A 列中的单元格,行号为“text01”所在行的 +1。我遇到的问题是如何定义范围的结束单元格。我尝试从起始单元格使用 OFFset 函数,但我不知道如何从那里的 C 列定义条件。

谢谢。

我知道上述描述可能有点难以理解,因此我附上了一个这样的表的小例子(发现的最大值及其相应的范围以粗体显示):

A B C D

2.1_____text02_____否_______无

9.8_____text01_____否_______无

5.4_____text02_____是______6.2

1.7_____text02_____是______无

4.6_____text02_____是______无

6.2_____text02_____否_______无

7.3_____text02_____否_______无

8.5_____text02_____否_______无

9.7_____text01_____否_______无

6.7_____text02_____是______9.1

9.1_____text02_____否_______无

9.9_____text02_____否_______无

9.1_____text01_____否_______无

1.1_____text02_____否_______无

1.9_____text02_____否_______无

答案1

在 D2 中尝试此操作
=IF(AND(B1="text01",C2="yes"),MAX(MAX(($A$1:$A$15)*($C$2:$C$15="yes"),INDIRECT("A"&ROW()-1+MATCH("no",$C2:$C$15,0)))),"none")

A1:A15,C1:C15 是数据范围,请将其更改为与您的范围相对应。

相关内容