【问题标题】:Excel - array, offset-associated cellExcel - 数组,偏移量相关单元格
【发布时间】:2017-04-06 13:29:21
【问题描述】:

我有一个挑战,似乎应该有一个简单的答案,但我无法解决。我有一个费率列表,如果条件与其他三个单元格匹配(一个单元格等于,下一个单元格大于,下一个单元格小于),我需要在一个大列表中找到最小值,我的公式是:

=IF(C7="f",IF(MIN(IF($C$4:$C$43="m",IF($D$4:$D$43>E7,IF($D$4:$D$43<F7,$G$4:$G$43,""),""),""))>0,MIN(IF($C$4:$C$43="m",IF($D$4:$D$43>E7,IF($D$4:$D$43<F7,$G$4:$G$43,""),""),"")),"no match"),"")

它有额外的,所以如果它不满足“f”条件,它不会做任何事情,如果数组中不满足条件,它会返回“不匹配”。

这部分有效,但现在我想显示与找到的汇率(汇率名称)相关的相同汇率的单元格名称,在上面公式中找到的汇率旁边,因此类似的公式,但使用 INDEX 和 MATCH 或 OFFSET。挑战是我的数据具有相同的速率,因此数组可以返回多个正确答案,这也是可以的,但是当我尝试将其与速率名称匹配时,它只是在数组中找到与速率匹配的第一个速率没有标准,我无法弄清楚如何再次合并标准。

换句话说 - 条件找到正确的匹配,但匹配然后查找值并选择数组中的第一个匹配 - 并不总是正确的。以下是数据样本。 sorry about the image- no easy way to show data in SO

【问题讨论】:

  • 所以你只想找到 M 个值?如果是这样,请将其作为参数添加到 IF 函数中。
  • 我相信你的&lt;&gt;上面的公式是颠倒的,你需要在它们后面加上=。根据您的示例,需要进行这些更改才能获得第一列的回报。
  • 等号是正确的,我的 是正确的,但是我提供的示例数据的低和高与我的实际数据相反 - 哎呀 - 因此下面的公式很棒 - 但我有反转 使其工作。谢谢!

标签: excel


【解决方案1】:

此数组公式将返回正确的名称,并且不依赖于您的其他公式的返回:

=IF(C4="f",IFERROR(INDEX($B$4:$B$43,MATCH(MIN(IF(($C$4:$C$43="m")*($D$4:$D$43<=E4)*($D$4:$D$43>=F4),$G$4:$G$43)),IF(($C$4:$C$43="m")*($D$4:$D$43<=E4)*($D$4:$D$43>=F4),$G$4:$G$43),0)),"No Match"),"")

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而不是 Enter 来确认。如果操作正确,Excel 会在公式周围加上{}

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多