数组公式如果不匹配,则显示数值

问题描述:

我想要做的是找到一个公式,我已经找不到,并将其更改为我所需的公式。我所拥有的是一个列表,其中姓名的两边都有不同的值,并且名称重复。我想成为具体事情发生的一种方式。数组公式如果不匹配,则显示数值

我会尽力解释和举例。

在A列中,我拥有所有名称,不是任何特定的顺序,只是所有的名称都是混乱的。在B栏中,如果有人不安排在那一天,我有时间或价值“关闭”。我想要做的是找到“John”正在工作的每个实例,如果它没有说他是休假或假期,则返回该值。

Example

公式我有一个显示每一个实例是在这里。这将驻留在D2: 代码:

={IFERROR(INDEX('$B:$B,MATCH(0,IF($C$2=$A:$A,COUNTIF($D$1:D1,$B:$B),""),0)),"")} 

我试过,但还没有任何成功的秘诀就在这里:

代码:

={IFERROR(INDEX('$B:$B,MATCH(0,IF(NOT(OR("Off"=$B:$B,"Vacation"=$B:$B)),COUNTIF($D$1:D1,$B:$B),""),0)),"")} 

任何帮助,将不胜感激!

我发现与您尝试使用的配方略有不同,但它可能对您有所帮助。 (下文中“约翰”的代码是在C2)

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW(B:B)/((B:B<>"off")*(A:A=$C$2)),COUNTA($A$1:A1))),"") 

,如果你希望它也删除“休假”,然后

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW(B:B)/((B:B<>"off")*(B:B<>"vacation")*(A:A=$C$2)),COUNTA($A$1:A1))),"") 
在我定位我使用

“;”而不是你的“,”(我已经在例子中改变了这个),所以你可能需要对代码进行一些其他的小修改...... btw你不需要输入这个数组公式。

做出了一些改变您的公式:

=IFERROR(INDEX($B:$B,MATCH(0,IF(($C$2=$A:$A)*("Off"<>$B:$B)*("Vacation"<>$B:$B),COUNTIF($D$1:D1,$B:$B),""),0)),"") 

这是一个数组公式按Ctrl键++输入所以提交它。

在阵列式参照整列(像$A:$A$B:$B使得执行速度很慢,因此是不可取的,而是使用范围内具有如

=IFERROR(INDEX($B$1:$B$9,MATCH(0,IF(($C$2=$A$1:$A$9)*("Off"<>$B$1:$B$9)*("Vacation"<>$B$1:$B$9),COUNTIF($D$1:D1,$B$1:$B$9),""),0)),"") 
+0

@KevinTuri数据 - 请接受的溶液,作为回答如果它解决了你的问题。 – Mrig