如何跳到每个第 n 个值并找到一列中的最大值?

如何跳到每个第 n 个值并找到一列中的最大值?

使用 LibreOffice 的 Calc 程序(功能与 Microsoft Excel 几乎相同),我在 T 列中有一组数字,它们代表周数(标签在 S 中)。每周的数据有 3 行,然后有一行空白行将其与下一周分隔开:

S |  T
=======

A | 90
B | 180
C | 250

A | 95
B | 160
C | 255

A | 100
B | 175
C | 260

A | 95
B | 185
C | 230

有没有办法计算单元格前的最大值,跳到每第 n 行?每周和数字组的其他列中的数据基于 T 列中前一周的数据,但我想使用迄今为止的最高值。

使用上面的数据作为示例:对于第 1、2 和 3 周,我希望公式 B 返回 180,但在第 4 周(数字较大)返回 185。对于 A 组,第 1 周以 90 为基准,第 2 周以 95 为基准,第 3 周以 100 为基准,第 4 周再次以 100 为基准。

答案1

您可以继续将当前周的值与前一周的最大值进行比较。

第一周,使用以下模式的公式=本周价值

第一周的配方

每隔一周使用公式=MAX(本周价值,上周最高)

其他周的配方

由于向下移动时相对位置相同,因此您可以将此公式复制到所有其他单元格。在此示例中,您可以选择一个空白单元格和三个包含公式的单元格,然后复制,然后选择下一个空白单元格到您想要包含公式的最后一个单元格,然后粘贴。

答案2

在 Excel 中,你可以使用类似这样的“数组公式”来获取“A”的最大值

=MAX(IF(A1:A100="A",B1:B100))

使用 CTRL+SHIFT+ENTER 确认

随着你每周添加更多数据,最大值将会更新

我不知道这是否在 libreoffice 中起作用......

答案3

您是否需要按照所示方式组织数据?如果您将每周的所有数据放在同一行中,这将变得简单(在 Excel 2007 中):

以行形式输入周数的示例电子表格

答案4

Excel 现在添加了MAXIFS()可使此过程变得简单的函数。如果您的数据以 开始S2(根据您的格式显示为 ),则可以将此公式放入U2

=IF(S2="","",MAXIFS(T$1:T2,S$1:S2,S2))

然后,您可以将其复制/粘贴到列中的每个单元格中U。固定引用 ( T$1& S$1) 不会改变,但相对引用 ( T2& S2) 将更新到相应的行。

工作原理:

  1. 首先检查 中的标签是否S为空白。如果是,则为空白。
  2. T查找当前行之前的最大值,但前提是该值与当前行的S值相匹配S。即获取此行或此行之上标签相同的所有值,然后查找这些值的最大值。

相关内容