如何结合使用 AND 函数和 MATCH 函数来获取非“否”且之前未返回的内容

如何结合使用 AND 函数和 MATCH 函数来获取非“否”且之前未返回的内容

我有以下数据,需要返回所有非“否”的值。即,我想在另一列中创建一个包含列中所有非E“否”值的列表。原始数据中永远不会有重复项(除了多次重复“否”)。

    E 
5   No  
6   No  
7   IC3  
8   No   
9   J1   
10  J2
11  J3
12  No

目前,我可以得到第一个不等于“否”的值。我尝试使用 MATCH 函数返回值 <>“否”和 <>[先前单元格中的值]。

我在单元格 L12 中有以下公式

{=INDEX($E$5:$E$12,AND(MATCH(TRUE,$E$5:$E$12<>"No"),MATCH(TRUE,$E$5:$E$12<>$L$5:L11)),0)}

有人知道吗?

答案1

数据来自A1通过A14, 在B1进入:

=IF(A1="No","",A1)

并抄下来。然后在C1输入数组公式

=IFERROR(INDEX($B$1:$B$14,SMALL((IF(LEN($B$1:$B$14),ROW(INDIRECT("1:"&ROWS($B$1:$B$14))))),ROW(A1)),1),"")

并抄下来。例如:

在此处输入图片描述

答案2

将这个用于确定预期回报数量的公式放入例如 L1 中:

=COUNTIF($E$5:$E$12,"<>No")

然后在您选择的第一个单元格中输入以下公式:

=IF(ROWS($1:1)>$L$1,"",INDEX($E:$E,AGGREGATE(15,6,ROW(E$5:E$12)/(E$5:E$12<>"No"),ROWS($1:1))))

(如果您使用的是 2010 之前的 Excel 版本,则需要进行一些小的修改。)

将此公式向下复制(但不是 L1 中的公式),直到结果开始为空白。

问候

答案3

以下是不需要辅助列的示例。假设您的数据从 A1 开始:

=IFERROR(INDEX(A$1:A$14,SMALL(IF(A$1:A$14<>"No",ROW(A$1:A$14)-MIN(ROW(A$1:A$14))+1,""),ROW())),"")

使用 ctrl+shift+enter 确认为数组公式,然后自动向下填充。它的书写方式必须从第一行开始,但如果需要,您可以调整最后一个 ROW() 以从其他位置开始。

相关内容