GAS - 连接唯一列表+ Sumifs

时间:2017-11-09 19:55:10

标签: google-sheets

我正在努力解决这个问题,以便在Google表格中提供一种简单的方法。

  1. 我需要一个带过滤器的唯一列表。 相当直接:
    Unique(Filter(UniqueRange,FilterRange,Criteria)

  2. 我需要列出的sumifs。如果我一次做一行,它会直截了当地将我的标准指向#1的结果并向下复制:
    sumifs(SumRange, Criteria1Range, Criteria1, Criteria2Range, Criteria2))

  3. 我正在努力的是,我不知道这个独特的清单会走多远。所以我不知道复制#2的公式有多远。如果我有无限的行但没有什么大不了但我需要输出上面的结果显示在单个单元格中,结果之间有一个字符,因为我试图让所有这些都适合仪表板的“日历” 。甚至可以这样做吗?

    示例数据:

     Apple  | 2
     Orange | 3
     Red    | 1
     Green  | 4
     Orange | 5
     Red    | 2
    

    我现在通过让uniques列表在左栏上根据需要增长并在右栏上向下复制公式#2来获得简单的结果:

     Apple  | 2
     Orange | 8
     Red    | 3
     Green  | 4
    

    我的问题是,有没有办法让下面的结果全部显示在单个单元格中并在结果之间输入连字符?

     Apple  - 2
     Orange - 8
     Red    - 3
     Green  - 4
    

    编辑: 谢谢大家的帮助。

    @theMayer 你指出了我正确的方向,最终解决了我的问题。谢谢!

    @I ' - ' 我 帮手列不适合我的需要。

    我最终做的是稍微修改一下解决方案。我修改它在数据之间有一个“_”因为数据中有连字符而且令人困惑。至于数字格式,生病只是暂时搁置。这是我的最终代码以及选择查询中的附加日期过滤器:

    ARRAYFORMULA(TRIM(CONCATENATE(QUERY({CHAR(10)&$G$3:$G,$F$3:$F,$A$3:$A},"select Col1,' _ ',sum(Col2) where Col3 = date '" & text(C3,"yyyy-MM-dd") & "' group by Col1 label sum(Col2) ''"))))

1 个答案:

答案 0 :(得分:1)

=ARRAYFORMULA(TRIM(CONCATENATE(QUERY({CHAR(10)&A1:A6,--("-"&B1:B6)},"select Col1,sum(Col2) group by Col1 label sum(Col2) ''"))))