Excel:查找 N 个先前条目的最小值/最大值

Excel:查找 N 个先前条目的最小值/最大值

假设我有一组数值数据,A1 到 A100。

如果在 D5 中我想找到最后一个的最小值5A1:A100 中的值,我使用的公式是,=min(A1:A5)所以在 D6 中将是=min(A2:A6),等等。

如果在 B1 中我想输入一个整数来控制最后一个的范围值,例如,如果 N=3,那么 D5 将是=min(A3:A5),而 D6 将是=min(A4:A6)

我怎样才能在 D5 中形成一个考虑到的通用公式A1:A100 中前几项的 (变量) 个数,其中我的输入是在 B1 中吗(我希望能够更改它)?

我真的不知道该如何处理这个问题,如能得到任何帮助我将非常感激。

答案1

您正在尝试根据变量定义范围,例如您所在的单元格和计算的起点。您可以使用 INDIRECT 函数来执行此操作。INDIRECT 根据您构建和/或计算的字符串创建实际的单元格或范围引用。单元格 D5 将包含:

=MIN(INDIRECT("A" & ROW()-$B$1+1 & ":A" & ROW(),1))

(为便于阅读添加了部分空格)。您可以根据需要将其复制或拖到页面下方。

  • 这使用 ROW() 函数来获取当前单元格的行。
  • $B$1 是对包含范围大小的单元格的引用($ 锁定单元格引用,因此在复制公式时它不会改变)。
  • +1 从范围大小调整为起始行号。
  • & 连接字符串的各个部分
  • 最后一个 1 在 Excel 中是可选的(在 LO Calc 中是必需的,我用它来验证公式)。它标识公式中使用的单元格寻址样式。

有关 INDIRECT 函数的更多详细信息,请参见这里

我在 A 列中填充了一些易于验证的数字,结果如下所示:

MIN 示例

如果将函数从 MIN 更改为 MAX,则会得到以下结果:

MAX 示例

答案2

这个解决方案是否可以转换为数组公式,以便当在 A 列中输入更多数据时,公式会自动向下扩展到 D 列?

相关内容