【发布时间】:2013-11-16 17:09:15
【问题描述】:
我想找到一列的最大值,并将其保存在对应行的下一列中。
例如,如果我有四行并且最大值在第三行,那么我想在第二列的第三行显示最大值。
示例:
1
6
12 12
3
或
18 18
1
3
8
【问题讨论】:
-
仍然需要一个示例来说明您在此处尝试实现的目标...您添加的编辑除了对下面我的原始答案的评论之外没有提供其他信息。只是想帮忙。 :)
我想找到一列的最大值,并将其保存在对应行的下一列中。
例如,如果我有四行并且最大值在第三行,那么我想在第二列的第三行显示最大值。
示例:
1
6
12 12
3
或
18 18
1
3
8
【问题讨论】:
要在一串单元格(或本例中为一行)中查找最大值,请使用以下命令:
=MAX([row])
例如,将使用以下等式返回第 1 行中的最大值:
=MAX(1:1)
这也可用于搜索列中的最大值,例如:
=MAX(A:A)
干杯。
::编辑响应:: 感谢您添加示例。为了实现您要查找的内容,如果您的数据位于 A 列中,我建议使用以下公式,然后根据需要向下复制:
=IF(MAX($A:$A)=A1,A1,"")
请注意,如果您的数据系列有超过 1 行包含相同的最大值,则对于发生这种情况的每个实例,最大值将出现在您的相邻目标单元格中。
【讨论】:
一种解决方案是 - 不是一个漂亮的解决方案 - 在您要检查的列旁边的列中添加一个 if 语句。只需以调整相对引用的方式复制所有行。公式类似于:
=IF(B5=MAX($B$5:$B$8);B5;"")
数字(18、1、3 和 8)在字段 B5:B8 中的位置。您可以通过在列中创建一个 max-statement 并检查它来减少代码的 CPU 密集度。
另一种方法是编写一个 VBA 宏来为您执行此操作。
【讨论】: