【问题标题】:Have max value of a column show in the next column of the corresponding row? [closed]列的最大值显示在相应行的下一列中吗? [关闭]
【发布时间】:2013-11-16 17:09:15
【问题描述】:

我想找到一列的最大值,并将其保存在对应行的下一列中。

例如,如果我有四行并且最大值在第三行,那么我想在第二列的第三行显示最大值。

示例:

1
6
12 12
3

18 18
1
3
8

【问题讨论】:

  • 仍然需要一个示例来说明您在此处尝试实现的目标...您添加的编辑除了对下面我的原始答案的评论之外没有提供其他信息。只是想帮忙。 :)

标签: excel worksheet-function


【解决方案1】:

要在一串单元格(或本例中为一行)中查找最大值,请使用以下命令:

=MAX([row])

例如,将使用以下等式返回第 1 行中的最大值:

=MAX(1:1)

这也可用于搜索列中的最大值,例如:

=MAX(A:A)

干杯。

::编辑响应:: 感谢您添加示例。为了实现您要查找的内容,如果您的数据位于 A 列中,我建议使用以下公式,然后根据需要向下复制:

=IF(MAX($A:$A)=A1,A1,"")

请注意,如果您的数据系列有超过 1 行包含相同的最大值,则对于发生这种情况的每个实例,最大值将出现在您的相邻目标单元格中​​。

【讨论】:

  • 不,这对我不好!对不起!我想将结果保存在同一行!例如,如果我有 3 行并且最大值在第二行中,我想将最大值保存在第二行和第二列中。
  • 您能否举例说明布局的外观?正如我所描绘的那样,除非您使用 VBA 来覆盖所有内容,否则您将遇到循环引用警告。
  • 感谢您的回答?但我不明白我应该把公式放在哪里!如果我把它放在第一列的最后一个值之后,它会给我错误!
  • 虽然它可以在任何地方工作,但我建议将公式放在与您的数据相邻的列中。根据您的示例,您将在左列中获得数据,而在右列中,此公式与您的数据一样远。当您向下复制时,单元格地址需要从 A1 更改为 A2 到 A3 等,如果您复制并粘贴,Excel 会自动为您完成。
【解决方案2】:
【解决方案3】:

一种解决方案是 - 不是一个漂亮的解决方案 - 在您要检查的列旁边的列中添加一个 if 语句。只需以调整相对引用的方式复制所有行。公式类似于:

=IF(B5=MAX($B$5:$B$8);B5;"")

数字(18、1、3 和 8)在字段 B5:B8 中的位置。您可以通过在列中创建一个 max-statement 并检查它来减少代码的 CPU 密集度。

另一种方法是编写一个 VBA 宏来为您执行此操作。

【讨论】:

  • 谢谢!我遵循您的解决方案,但它不起作用!
  • 这个公式将最大值写入相邻列的所有行中!我只想将最大值保存在一个中!
  • 如果行与最大值不匹配,它应该放在一个空格中。也许您需要在某个地方共享一个示例文件,以便我们可以看到实际文件并在那里修复它。它适用于我放在一起的模型文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-15
  • 2013-05-17
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多