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