如何帮助解决这个问题?
我是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
答案 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
)。