excel公式:根据另一列的值在一列中查找唯一值

时间:2012-03-09 16:12:53

标签: excel excel-formula

我可以手动完成,但我确信有一种公式化的方法可以做到这一点 这是数据:

Column-A      Column-B      Column-C
C             Y   
D             
E             Y
F
E             Y    

我想做的是分两步:
a。)选择Column-A中的所有值,其中Column-B中的对应值为“Y” b。)从上面从A列中选择的数据中,仅选择唯一值并将它们放在Column-C中 c。)因此,上述数据的C列中的数据将是“C”和“C”。 “E”

任何指针?

1 个答案:

答案 0 :(得分:6)

假设您有excel 2007

,这是一个选项

将此公式放在C1

=IFERROR(INDEX(A1:A5,MATCH("Y",B1:B5,0)),"")

然后C2中的这个被复制下来

=IFERROR(INDEX(A$1:A$5,MATCH(1,INDEX((B$1:B$5="y")*(COUNTIF(C$1:C1,A$1:A$5)=0),0),0)),"")

您可以在早期版本中执行此操作,但它需要一些较长的公式,以确保在有效匹配用尽后您不会收到错误值

说明:

公式1使用MATCH查找B1:B5中第一个“y”的位置,然后INDEX返回A1:A5中的相关值。如果你的列是相反的,你可以使用VLOOKUPINDEX/MATCH是执行“左查找”的标准方法。

公式2使用MATCH查找满足2个条件的第一行的位置,B1:B5 =“y”和A1:A5<>已找到的值。已经找到的值位于上面的C列中,因此COUNTIF函数会查看上面的单元格,并对上面该范围内的A列中的每个值进行计数(当您向下拖动公式时会扩展) - 计数零表示尚未选择该值。在MATCH标识行号INDEX后,将从A列中的该行获取值。