Excel索引小如果使用OR语句

时间:2017-08-01 18:20:45

标签: excel if-statement indexing formula

=(INDEX(数据,SMALL(IF((数据,[位置] ="管理器&#34)的(数据[奖金] ="是&#34)(数据[搬迁] = A1)OR *(数据[搬迁] = B1,ROW(数据[重定位)),ROW(1:1)) - 1,列(数据[NAME]))

我一直试图将上述公式计算出来,但仍然无法让它发挥作用。

我想要的只是一个公式,将我所有愿意重新安置到A1或B1城市的奖金的管理人员的名字都归还给我。 我使用数组,因此它可以列出尽可能多的管理员。

我尝试在各种嵌套中使用OR,但无法弄清楚所以我会感激任何帮助,谢谢

1 个答案:

答案 0 :(得分:0)

=(INDEX(data,SMALL(IF(AND((data[POSITION]="Manager"),(Data[Bonus]="yes"),OR((data[relocation]=A1),(data[relocation]=B1))),ROW(data[relocation])),ROW(1:1))-1,COLUMN(Data[NAME]))

这将识别那些作为经理并且有奖金的人(将重新安置到A1或重新安置到B1)

AND()和OR()的语法是AND或OR位于要检查的事物列表的前面。

更好的方法是将以下函数粘贴到数据表的末尾并将其复制下来。

=IF(AND((data[Position]="Manager"),(data[Bonus]="yes"),OR((data[relocation]=$A$1),(data[relocation]=$B$1))),data[NAME],"")

如果此人符合您指定的条件,它会将名称复制到列中,但如果不符合,则将其留空。这将允许您过滤此列上的表格,并在需要时查看其他数据。

Sheet with formula

如果您想使用Index / Small来整理结果,可以将原始公式更改为:

=IF(AND((data[Position]="Manager"),(data[Bonus]="yes"),OR((data[relocation]=$A$1),(data[relocation]=$B$1))),1,0)

这将使符合您标准的任何人排成1行,而任何不符合标准的人排成0行。

然后你可以使用THIS数据列上的Index / small方法(我称之为Selected)

=INDEX(data,SMALL(IF(data[Selected]>0,ROW(data[Selected])-3),ROW(1:1)),3)

Using INDEX/SMALL