在 Excel 中创建特定列

在 Excel 中创建特定列

我有许多行被分成几组。每个组的每一行都被分配一个数字,同一组的行具有相同的数字。在另一列中,我为每一行关联了一些不同的数据。我需要将最后提到的列中每个组的最大数据编号放入一个新列中。示例:

A 列是组号

B 列是我有的数据

C列是从第一组到最后一组排序的每一组中最大的数据

A       B         C
1      24        75
1      75        95
1      52        65
2      36
2      12
2      95
3      32
3      65
3      41

我需要自动创建 C 列

答案1

按照你的例子,公式将是:

=MAX(INDIRECT(
      CELL("address", INDEX($B$1:$B$9, MATCH(ROW(), $A$1:$A$9, 0)))&":"&
      CELL("address", INDEX($B$1:$B$9, MATCH(ROW(), $A$1:$A$9, 1)))
     ))

解释

INDEX( ... )检索与当前行相等的组中的值。如果您在第 1 行,则它将检索第 1 组的值。

有趣的事情正在使用0返回match_type第一的匹配的值,同时1返回最后的价值。

CELL("address", ... )返回由 返回的单元格的地址INDEX,即总是该组的第一个和最后一个匹配的值。

INDIRECT( ... &":"& ... )将形成的字符串转换为范围。例如,对于第 1 组,它将是INDIRECT("$B$1:$B$3")

MAX( ... )查找返回范围中的最高值INDIRECT

相关内容