我有一个挑战似乎应该有一个简单的答案,但我无法解决它。我有一个速率列表,如果标准与其他三个单元格匹配(一个单元格等于,下一个单元格大于,下一个单元格小于),我需要在大型列表中找到最小值,我的公式是:
(gen/generate (spec/gen (spec/cat :person ::person
:clothes ::clothing)))
=> (u_K_P6!!?4Ok!_I.-.d!2_.T-0.!+H+/At.7R8z*6?QB+921A
:shirt "B4W86P637c6KAK1rv04O4FRn6S" :pants "3gdkiY" :hat "20o77")
它有额外的内容,因此如果它不符合“f”标准则不会执行任何操作,如果数组中的条件不符合则返回“不匹配”。
这部分有效,但现在我想显示与找到的费率相关的相同费率的单元名称(费率名称),除了上面公式中的比率,因此使用INDEX和MATCH或OFFSET的类似公式。挑战是我的数据具有相同的速率,因此数组可以返回多个正确答案,这也没关系,但是当我尝试将其与速率名称匹配时,它只是找到数组中与速率匹配的第一个速率没有标准,我无法弄清楚如何再次纳入标准。
换句话说 - 条件找到正确的匹配,但匹配然后查找值并选择数组中的第一个匹配 - 总是不正确。以下是数据样本。 sorry about the image- no easy way to show data in SO
答案 0 :(得分:0)
此数组公式将返回正确的名称,并且不依赖于您的其他公式的返回:
=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会将{}
放在公式周围。