Excel如果列B满足if语句Function,则返回A列中的值

时间:2013-06-01 09:46:28

标签: excel

如何帮助解决这个问题?

我是excel的新手,我想组织数据,但我找不到合适的功能来使其工作。

需要一个函数在列E中搜索值,并在每次匹配时将列A,B,C,D中的文本返回到一组新列中。

A     B     C     D     E
Appl  Text  Text  Text  3
Grap  Text  Text  Text  2
Pear  Text  Text  Text  1
Berr  Text  Text  Text  2
Ora   Text  Text  Text  1

例如,在E列中搜索 3 的值并将值返回到以下内容:

A     B     C     D
Appl  Text  Text  Text     
Ban   Text  Text  Text   

2 个答案:

答案 0 :(得分:1)

你能否在E列上过滤以获得3?

的所有行

对于公式方法,假设您在A1中的第一个表:E5在G1

中尝试此公式

=IFERROR(INDEX(A$1:A$5,SMALL(IF($E$1:$E$5=3,ROW(A$1:A$5)-ROW(A$1)+1),ROWS(G$1:G1))),"")

使用 CTRL + SHIFT + ENTER 确认并根据需要进行反复复制 - 一旦匹配的行用完,您就会获得空白< / p>

参见示例here

注意:IFERROR需要Excel 2007或更高版本,但可以修改它以使用早期的Excel版本

答案 1 :(得分:0)

可以使用数组公式解决任务:

{=OFFSET(A$1;SMALL(IF($E$1:$E$5=$B$7;ROW($E$1:$E$5);"");$F8)-1;0)}

在公式窗口中按Ctrl-Shift-Enter以插入公式。卷曲括号由Excel插入,而不是由用户插入。公式可以向下和向右复制。

为了简化任务,我从E8向下添加了辅助单元格,以列出所需值的出现次数。

具有所需值的行(在$B$7中)标有行号,否则标有“”。 SMALL获取$F8用于查找所需文本的第n个最小值(OFFSET)。

enter image description here