如何根据一个标准提取多个值?

How can I extract multiple values based on one criterion?

我目前有一个如下所示的数据库:

但我希望数据库的输出如下所示:

我试过使用 INDEX MATCH 但我一直没能找到从输出中排除空白值的方法。

我使用过但没有完全 return 预期输出的公式是:

=INDEX('Input sheet'!B2:I7,0,MATCH(A2,'Input sheet'!A2:A7,0))

是否有一个公式可以 return 一行中的非空值,如输出 sheet 所示?

https://docs.google.com/spreadsheets/d/1HdkBPhzB5oZ0RyKZzAOkPIXT81upgHiGBLfgXsrOZDI/edit?usp=sharing

=ARRAYFORMULA({UNIQUE(FILTER('Input sheet'!A2:A, 'Input sheet'!A2:A<>"")), TRIM(SPLIT(
 TRANSPOSE(QUERY(IF(QUERY(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRIM(TRANSPOSE(QUERY(
 TRANSPOSE(IF(LEN('Input sheet'!B2:J), "♠"&'Input sheet'!A2:A&"♦"&'Input sheet'!B1:J1, ))
 ,,999^99))),,999^99), "♠")), "♦")),
 "select count(Col2) where Col2 is not null group by Col2 pivot Col1",0), "offset 1",0)<>"",
 QUERY(QUERY(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRIM(TRANSPOSE(QUERY(
 TRANSPOSE(IF(LEN('Input sheet'!B2:J), "♠"&'Input sheet'!A2:A&"♦"&'Input sheet'!B1:J1, ))
 ,,999^99))),,999^99), "♠")), "♦")),
 "select Col2,count(Col2) where Col2 is not null group by Col2 pivot Col1", 0), 
 "select Col1 offset 1", 0)&"♥", ),,999^99)), "♥"))})


上面的反面:

=ARRAYFORMULA(TRANSPOSE(QUERY(SPLIT(TRANSPOSE(SPLIT(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(LEN('Output sheet'!B2:F), "♠"&'Output sheet'!A2:A&"♦"&'Output sheet'!B2:F, ))
 ,,999^99)),,999^99)), "♠")), "♦"), 
 "select Col2,count(Col2) where Col2 is not null group by Col2 pivot Col1", 0)))