EXCEL:从A列复制单元格 - >仅限C列B = X,但仅使用1列

时间:2017-06-27 16:15:19

标签: excel filter excel-formula

我有两列数据:

COL_A  COL_B
AAAA   PM
BBBB   PM
CCCC   P
DDDD   M
EEEE   PM

我希望通过过滤A列来创建第3列,因为列B =“PM”。但我想通过仅添加一个额外的列(即,没有逐步/多列方法)来这样做。结果如下:

COL_A  COL_B   COL_C
AAAA   PM      AAAA
BBBB   PM      BBBB
CCCC   P       EEEE
DDDD   M       
EEEE   PM      

帖子Excel formula needed: see if a text in one column appears within a text string second column(模糊地)讨论了如何在此过程中使用多列

我正在寻找一种(非VBA)方法,仅使用1行函数(即电子表格中只有1个附加列)来过滤A,而不是VBA。

  • 换句话说,我不想在列C中添加一些函数=___(A,B,...),然后在列D中添加一些函数=if(C__...),基于新列C等。

我可以这样做吗?

1 个答案:

答案 0 :(得分:1)

C1 中输入数组公式

=IFERROR(INDEX($A$1:$B$20,SMALL(IF($B$1:$B$20="PM",ROW($B$1:$B$20)),ROW(1:1)),1),"")

并复制下来:

enter image description here

必须使用 Ctrl + Shift + 输入输入

数组公式,而不仅仅是 Enter key。

您可以增加公式中的范围以匹配您的表格大小。

修改#1:

INDEX()函数从基于行的列中提取数据。 SMALL()函数创建一个符合所需条件的行数组。