仅使用函数匹配索引

时间:2016-09-01 20:17:59

标签: excel excel-formula

例如,我有以下三列:

Column(A)        Column(B) 
NasdaqGS:SRCE    59.8%
NasdaqGS:TWOU    NA
NYSE:DDD         NA
NYSE:MMM         10%
NasdaqGS:EGHT    60%

如何仅使用Excel函数获取以下输出?:

Column(C)
NasdaqGS:SRCE
NYSE:MMM      
NasdaqGS:EGHT   

所以我想在列(A)中返回在列(B)中没有NA值的代码。

1 个答案:

答案 0 :(得分:0)

要获取包含公式的列表,请在 C2

中使用此数组公式
=IFERROR(INDEX($A$2:$A$6,MATCH(1,NOT(ISERROR($B$2:$B$6))*(COUNTIF($C$1:$C1,$A$2:$A$6)=0),0)),"")

作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here

另一种不需要标题行或特殊CSE条目的方法:

=IFERROR(INDEX($A$1:$A$5,AGGREGATE(15,6,ROW($B$1:$B$5)/(NOT(ISERROR($B$1:$B$5))),ROW(1:1))),"")

enter image description here

在两个公式中,如果测试用于字符串NA而不是错误#N/A,则将NOT(ISERROR($B$2:$B$6)替换为($B$2:$B$6 <> "NA")

这两个都是数组类型公式,如果数据集和返回列表很大,这将减慢Excel的计算时间。在大型数据集上,过滤,复制,取消过滤,粘贴的方法会更快。