【问题标题】:Excel Array Formula and combinationExcel数组公式及组合
【发布时间】:2013-05-28 21:44:25
【问题描述】:

需要根据数组公式返回的结果获取数据

现在我需要得到:

  • 在 Column(C)=1 的情况下查找 Column(D) 的最高值。 “值-> 1868”。 (即 16:00-18:00 小时之间,最高为 1)
  • 从上述结果的同一行,获取 Column(G)->1256 和 (H)->57 的列值

要获得第一个最高的 Column(D),我有以下 Array 公式可以正常工作。 =MAX(IF((C10:C30)=1,D10:D30))

现在基于此,如何获得 Col-G 和 H 的最高值?

【问题讨论】:

    标签: arrays excel


    【解决方案1】:

    您可以使用INDEX/MATCH 来执行此操作,例如对于列 G 值,试试这个“数组公式”

    =INDEX(G10:G30,MATCH(1,(D10:D30=MAX(IF(C10:C30=1,D10:D30)))*(C10:C30=1),0))

    CTRL+SHIFT+ENTER

    确认

    G10:G30 替换为H10:H30 以增加H 列的值

    当然,如果您已经在 B31 中有公式,您可以使用我建议的公式中的结果来简化,即

    =INDEX(G10:G30,MATCH(1,(D10:D30=B31)*(C10:C30=1),0))

    【讨论】:

    • 哇...效果很好。谢谢...稍后将深入研究这是如何工作的!
    • 我有点困惑为什么/如何使用 *(C10:C30=1)。你能解释一下吗?
    • 我假设您可能在 D10:D30 中有重复的值(例如 1868 可能出现不止一次,并且可能出现在 C10:C30 = 2 的行上),因此您需要查找有 2 个条件的行满意,即 D10:D30=B31 和 C10:C30=1 当你测试那些你得到 TRUE 或 FALSE 的数组并且当你将这些数组相乘时只有 TRUE*TRUE = 1 所以 MATCH 寻找一个等于第一个的 1满足两个条件的行....并且 INDEX 从 G10:G30 返回相应的行
    猜你喜欢
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多