【问题标题】:Use set of keywords to extract values from second worksheet使用一组关键字从第二个工作表中提取值
【发布时间】:2015-07-16 03:53:14
【问题描述】:

我会尽量解释我面临的问题。

A 有一组数据,其中包含提取为 Excel 文件的多个重复项。在这些数据中是我想用来从另一个工作簿中过滤掉相关数据的“键”。

我首先从关键字列表中删除重复项,我认为这种工作方式令人满意。然后我尝试使用以下数组公式从值中提取和计算最小值:

=MIN(VLOOKUP(Blad1!D2:D8,Blad2!A3:D9,2))

但是,这并没有按预期工作。该值返回目标范围内的最小值,但似乎忽略了提供的关键字。相反,它只是找到整个范围的最小值。

在 excel 方面我远非专业人士,因此欢迎任何有关如何以更有效的方式完成此任务的建议。

这是sample document的链接。

【问题讨论】:

    标签: arrays excel filter


    【解决方案1】:

    这些数组公式应该是你需要的。

    'MINIF in F2,
    =MIN(IF(COUNTIF($D$2:$D$8, Blad2!$A$2:$A$9&""), Blad2!$B$2:$B$9))
    'MAXIF in G2
    =MAX(IF(COUNTIF($D$2:$D$8, Blad2!$A$2:$A$9&""), Blad2!$C$2:$C$9))
    'AVERAGEIF¹ in H2
    =AVERAGE(IF(COUNTIF($D$2:$D$8, Blad2!$A$2:$A$9&""), Blad2!$D$2:$D$9))
    

    数组公式需要用 Ctrl+Shift+Enter↵ 完成。 尝试将全列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将引用范围缩小到最小。

    结果是 15、35 和 23.6。

    ¹请注意,这不是原生的 AVERAGEIF functionAVERAGEIFS function,而是一个数组公式。选择这种方法是因为标准很多。

    【讨论】:

    • 非常感谢,这确实解决了我的问题!不过,我对公式有疑问;为什么我需要 COUNTIF 公式中的“&”“”?
    • 在这种情况下它可能不是绝对必要的,但这是我使用 COUNTIF function 这样的习惯。它旨在保证返回给 COUNTIF 的零长度字符串的最小值,而不是真正的空白单元格。
    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 2021-11-09
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多