【问题标题】:Google Sheets - formula to return N first values from range A where MAX(range B)Google表格 - 从范围A返回N个第一个值的公式,其中MAX(范围B)
【发布时间】:2019-03-17 12:27:04
【问题描述】:

F1:N1 带有随机数(可以有重复)。
F2:N2 带有已排序的数字。
需要一个公式来使用 F2:N2 中的值填充 A1:C1,其中 F1:N1 具有最大值。
在示例中,它应该是 F2:N2 中的 1,8,3 - 根据 F1:N1 中的 9,9,8。


_ A B C D E F G H I J K L M N
1 ? ? ?     9 3 8 1 5 5 3 9 8
2           1 2 3 4 5 6 7 8 9

【问题讨论】:

  • 如果是谷歌表格,你可以通过排序来完成......我现在没有时间,但怀疑同事可能会帮忙
  • 完成 - 你能确认它是否应该有谷歌表格标签吗?按标题应该有。
  • 抱歉,Tom 我无法添加标签“sheet”或“googlesheet”,因为它需要 1500 名声望。
  • 已添加标签 'google-sheets' - 如果不合适,请告诉我们。
  • 谢谢汤姆,一切顺利!也感谢您的回答 - 它解决了我的问题!

标签: excel google-sheets range max formula


【解决方案1】:

您可以使用“辅助行”来创建唯一排名列表:

F3:  =RANK(F1,$F$1:$N$1)+COUNTIF($F$1:F1,F1)-1
  and fill right to N3

由于您在F2:N2 中的值是连续的{1...8},因此您可以使用以下公式:

A1:  =MATCH(SMALL($F$3:$N$3,COLUMNS($A:A)),$F$3:$N$3,0)
  and fill right to C1

如果F2:N2 中的值是随机的,那么你可以使用这个:

A1:   =INDEX($F$2:$N$2,1,MATCH(SMALL($F$3:$N$3,COLUMNS($A:A)),$F$3:$N$3,0))
   and fill right to C1

【讨论】:

    【解决方案2】:

    没有人愿意提供 Google 表格解决方案,所以这里有一个:

    =query(transpose(sortn(transpose(F1:N2),3,,1,false,2,true)),"select Col1,Col2,Col3 limit 1 offset 1")
    

    在 A1 中。这是一个自扩展公式,因此不需要填充,也不需要辅助行。

    编辑

    上面的公式中可以省略'Limit 1',如注释中所述。

    这也有点短:

    =transpose(query(sortn(transpose(F1:N2),3,,1,false,2,true),"Select Col2"))    
    

    【讨论】:

      【解决方案3】:

      A1 中的公式= INDEX($F$2:$N$2,MATCH(COLUMN(A1),$F$3:$N$3,0)) 并被拖到 C1
      F3中的公式= RANK(F1,$F$1:$N$1)+COUNTIF($F$1:F1,F1)-1并被拖到N3

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-29
        • 2011-02-03
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多