【问题标题】:How can I extract multiple values based on one criterion?如何根据一个标准提取多个值?
【发布时间】:2019-06-24 14:29:33
【问题描述】:

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

但我希望数据库的输出看起来像这样:

我曾尝试使用INDEX MATCH,但我无法找到从输出中排除空白值的方法。

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

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

是否有公式可以连续返回非空白值,如输出表所示?

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

【问题讨论】:

    标签: google-sheets transpose google-sheets-formula array-formulas google-sheets-query


    【解决方案1】:
    =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)))
    

    【讨论】:

    • 谢谢@player0!通过将输出图像发布为输入图像,我在帖子中犯了一个早期错误。我现在已经纠正了这一点。理想的输出是第二张图像。抱歉一开始就不清楚!
    • 嗨@Player0,谢谢你的回答!完美解决问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2021-11-23
    • 2022-10-23
    相关资源
    最近更新 更多