【问题标题】:Excel - Finding Max value in a columnExcel - 在列中查找最大值
【发布时间】:2011-12-14 15:09:02
【问题描述】:

我有一个汇总表设置数据设置如下-

         Cat A  Cat B  Cat C  Cat D  
Name 1       0      0      0      0  
Name 2       2      3      2      2  
Name 3       2      2      2      2  
Name 4       3      2      2      3  
Name 5       2      3      2      3  

然后,我还为 Name1 到 Name 5 分别设置了单独的选项卡。

摘要表包含每个选项卡中每个类别的最大值。因此 Cat A Name 1 处的单元格应在 Cat A 列的 Sheet(Name1) 上显示最大值。

到目前为止一切顺利。但是每个选项卡可能不包含相同的类别,因此我希望汇总表通过搜索猫名来检查每列中的最大值。

到目前为止我有这个-

=MATCH(Overview!S$1,Name1!$C$1:$V$1,0)

它返回具有正确类别的列号,在本例中为 13。所以我可以找到正确的列。我现在正在努力寻找列中的最大值。

谁能帮忙?

谢谢

【问题讨论】:

    标签: excel max


    【解决方案1】:

    假设您的搜索范围进入第 1000 行:

    =MAX(INDEX(Name1!$C$2:$V$1000,0,MATCH(Overview!S$1,Name1!$C$1:$V$1,0)))
    

    Index 中的 0 Row 参数表示选择整列。

    【讨论】:

      【解决方案2】:

      Offset 函数是您的关键。

      从匹配项中获取值后,可以将其传递给偏移量以获取正确的列。

      所以,例如,你可能想要这样的东西:

      =Max(Name1!$C1:$C2000)
      

      但是你不知道应该使用 C 列还是 D 列或其他什么,在这种情况下,它是 13,那么 P 列是吗? (c=3,比赛是 13 所以 3+13 = 16 = P?),所以我想你想要这样的东西:

      =Max(Offset(Name1!$C$1:$C$2000, 0, [result of your match expression] - 1))
      

      这是我认为您希望在 GoogleDocs 中的示例:

      https://docs.google.com/spreadsheet/ccc?key=0Ai45AJPc2AWMdGRlZXNIdlZBaHJxc01qVlJWa1N1WXc

      【讨论】:

      • 嗨。我试过这个,但无法让它工作。我刚得到一个空白的结果。 Name1 选项卡上的数据在 C1:V8 范围内,因此我将其替换为 $C$1:$C$2000 并放入 $C$1:$C$8。我试图将公式拆分并使用 =OFFSET(NAME1!$C$1:$C$8,13,0) 放置偏移部分并得到#Value错误
      • 所以,你做一个匹配来确定哪一列,在这种情况下你想要列 P?所以你希望它能够有效地计算Max(Name1!P1:P8)?或者你想要Max(Name1!P2:P8)
      • 在这里,我在 GoogleDocs 上做了我认为你想要的:docs.google.com/spreadsheet/…
      • 我确实有一个错误,我在偏移量上交换行和列。
      • 需要注意的一点是,Match 是基于 1 的,而 Offset 是基于 0 的,因此我预计此解决方案会出现逐列错误。换句话说,如果 Match 返回第一列,则偏移量将超过一列,此外,偏移量是易变的,因此效率低于索引。通常,在这些情况下,我会同时使用 Index 和 Match。 (索引也是从 1 开始的。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2015-06-16
      • 1970-01-01
      • 2015-06-29
      相关资源
      最近更新 更多