索引小和如果在Excel中有多个条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了索引小和如果在Excel中有多个条件相关的知识,希望对你有一定的参考价值。

大家好我一直在尝试使用下面的公式,并在多种条件下改变它

{=INDEX($C$1:$C$51,SMALL(IF($A$1:$A$51="Adeline",ROW($A$1:$A$51),""),3),1)}

我在sheet1上有一个名为Data的表和一个用于计算的页面。虽然在sheet1的表格中,ID可以在多行上,但两张纸​​上都有匹配的ID。此外,CODE列在这种情况下可以包含多次相同ID但具有不同值的TEST2。我试图在这种情况下找到这个组合的第3个值。

所以我试图找出一个基于ID的值和一个名为Code的列,但我想要第3个值

所以我试过改变声明的IF部分

{=INDEX(Data[Value],SMALL(IF((Data[ID] =[@ID])*(Data[CODE] = "Test2") ,ROW($A$1:$A$51),""),3),1)}

{=INDEX(Data[Value],SMALL(IF((AND(Data[ID]=[@ID], Data[CODE] = "Test2") ,ROW($A$1:$A$51),""),3),1)}

两者都有错误 - 任何建议或我是以错误的方式完全看待这个。

样本数据

Sample data

Calcs表

Calcs sheet

答案

编辑从最大排名变为最高排名最小排名

=IFERROR(AGGREGATE(15,6,1/(1/((Data[[ID]:[ID]]=Results[@[ID]:[ID]])*(Data[[Code]:[Code]]="Test 2")))*Data[[Value]:[Value]],COLUMNS($A:A)),"")

笔记:

  • 我们使用布尔值的乘法而不是IF函数
  • 1/(1/(...))公式部分是一种将FALSE结果从0的布尔多平面转换为#DIV/0!误差的方法。
  • AGGREGATE函数提供了一种从计算中排除错误结果的方法。
  • 结构化引用已更改为绝对引用,以允许在不更改列名的情况下进行拖动
  • COLUMNS(...函数将调整为返回{1,2,3],因为你向右填充返回最小值;第二小等值
  • 请注意,使用绝对引用时,即使该行位于同一个表中,也必须使用表名。

enter image description here

以上是关于索引小和如果在Excel中有多个条件的主要内容,如果未能解决你的问题,请参考以下文章

在查找excel中查找具有多个条件的最后一次出现

php 在Yoast SEO中更改或删除OpenGraph输出的代码片段。此代码中有多个代码段。

Excel 中一列中有多个数据,每个数据间隔的行数不一样,用啥方法可以快速填充?

Excel:一列中有多个分钟

[基于独立索引向量的多个条件过滤数据帧

java.lang.IllegalStateException:键 f0 的片段不再存在:索引 1