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

我有2列的数据:

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

我想创build一个第三列,通过筛选列A给出列B =“PM”。 但是我想这样做只需要添加一个额外的列(即没有逐步/多列的方法)。 结果如下所示:

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

Excel公式需要:查看一列中的文本是否出现在第二列的文本string中 ,隐约讨论如何使用多列来完成此操作

我正在寻找一种(非VBA)的方法来使用仅一行function(即电子表格中只有一个额外的列)来过滤A。

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

我可以这样做吗?

C1中input数组公式

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

并抄下来:

在这里输入图像说明

数组公式必须使用Ctrl + Shift + Enterinput,而不仅仅是Enter键。

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

编辑#1:

INDEX()函数根据行从列中提取数据。 SMALL()函数创build一个匹配所需条件的行数组。