根据另一个列值过滤项目,结果在一个单元格中

时间:2016-09-30 15:18:42

标签: excel worksheet-function

我在excel中有这样的表格:

   A  B  C
 -----------
1| a  t
2| b
3| c  t
4| d
5| e  t
6| f  t

并希望选择A列中的所有值,其中B列中的值为' t'。使用矩阵公式选择它们是没有问题的:

=JEŻELI.BŁĄD(INDEKS(A1:A10;MIN.K(JEŻELI(B1:B10="t";WIERSZ(B1:B10);"");WIERSZ()));"")

但问题是我只想将结果发送到一个单元格(基于上表的示例结果):

"a,c,e,f"

可以不编写VBA代码吗?

1 个答案:

答案 0 :(得分:0)

如果您有Office 365 Excel,则可以将TEXTJOIN用作数组公式:

=TEXTJOIN(",",TRUE,IF($B$1:$B$6 = "t",$A$1:$A$6,""))

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

如果您没有Office 365 Excel或者我们不想使用数组公式,那么您将需要一个帮助列。

在C1中:

=IF(B1="t",A1&"," &C2,C2)

并复制数据集的长度。

然后在D1中:

=LEFT(C1,LEN(C1)-1)

enter image description here