索引小和如果在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)}
两者都有错误 - 任何建议或我是以错误的方式完全看待这个。
样本数据
Calcs表
答案
编辑从最大排名变为最高排名最小排名
=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]
,因为你向右填充返回最小值;第二小等值- 请注意,使用绝对引用时,即使该行位于同一个表中,也必须使用表名。
以上是关于索引小和如果在Excel中有多个条件的主要内容,如果未能解决你的问题,请参考以下文章
php 在Yoast SEO中更改或删除OpenGraph输出的代码片段。此代码中有多个代码段。