Google sheets 数组公式以查找多个条件并返回多个匹配项

Google sheets 数组公式以查找多个条件并返回多个匹配项,google-sheets,Google Sheets,我知道我可以通过查询来实现这一点,但我不希望每行都有一个公式(我原来的电子表格有1000多行)。我宁愿用数组公式来做。 我正在尝试查找与学生编号和课程编号匹配的学生记录。使用vlookup很容易做到这一点,但许多学生多次学习一门课程,因此我希望它可能会返回多个结果 学生是可乐,课程名称是可乐。在F4中,我需要一个数组公式,该公式将按ColF向下,匹配学生编号,并返回对应于课程代码(在本例中为ENG30*(匹配可以是ENG301、ENG302、ENG303…)的匹配项(在ColF和ColG中) 给

我知道我可以通过查询来实现这一点,但我不希望每行都有一个公式(我原来的电子表格有1000多行)。我宁愿用数组公式来做。 我正在尝试查找与学生编号和课程编号匹配的学生记录。使用vlookup很容易做到这一点,但许多学生多次学习一门课程,因此我希望它可能会返回多个结果

学生是可乐,课程名称是可乐。在F4中,我需要一个数组公式,该公式将按ColF向下,匹配学生编号,并返回对应于课程代码(在本例中为ENG30*(匹配可以是ENG301、ENG302、ENG303…)的匹配项(在ColF和ColG中)


给你:
F4
=

=QUERY(A1:B25000,"Select A,B where B contains 'ENG30'",1)
编辑:

K4:

M4

F4


你说的“我知道我可以通过查询来实现这一点,但我不希望每行都有一个公式”是什么意思?查询在一行中只有一个公式。如果我想为每一个学生编号匹配,我必须为每一行都有一个查询公式,是吗?从你的回答来看,我显然错了。那么你是怎么做的?谢谢!快速问:如果有两个以上的ENG40*实例,需要做什么调整?假设有as m有12个吗?你的问题可能很快。但是,没有快速的答案。你应该在你的第一个问题中包含这一点。我制作的公式已经有很多技巧、调整和工作,可以将其转换为你要求的格式。为12个实例再次修改它将需要更多的工作。下次,请清楚地提问。让你的要求非常明确从一开始就听。你自己试试看。Stack Overflow不是一个免费的编码服务。它是一个当你尝试的代码不起作用时问你问题的网站。你在这里的态度非常有辱人格。单击此处将其标记为解决方案✔ 在这根柱子的左边。
=QUERY(A1:B25000,"Select A,B where B contains 'ENG30' and A matches '"&JOIN("|",E4:E446)&"' order by A",1)
=ARRAYFORMULA(IF(K4:K250=K5:K251,L5:L251,""))
=ARRAYFORMULA(IFERROR(VLOOKUP(E4:E446,K4:M245,{2,3},0)))