代码之家  ›  专栏  ›  技术社区  ›  Anon

Lambda不在数组中迭代

  •  0
  • Anon  · 技术社区  · 10 月前

    我陷入了你在这里看到的那种情况:

    11/04/2017 $1,000.00 2017 1000
    01/01/2018 $10,002.00 2018 0
    01/07/2018 $10,002.00 2019 0
    01/01/2019 $1,000.00 2020 0
    01/06/2019 $100.00 2021 0
    01/01/2020 $1,000.00 2022 0
    01/01/2021 $10,008.00 2023 0
    01/01/2022 $1,000.00 2024 0
    12/09/2022 $1,000.00
    01/01/2023 $800.00
    01/01/2024 $1,000.00

    我试图实现的是选择B中所有独特的年份范围,并为它们计算F中的C值之和。

    就目前而言,uniques中的过滤器工作良好,但总和中有些地方不起作用,我不明白我做错了什么,E:F中的表是用以下公式创建的:

    =MAP(UNIQUE(INDEX(RIGHT(B5:B15,4))), UNIQUE(INDEX(RIGHT(B5:B15,2))) , lambda(a, b, {a,  SUMIF(RIGHT(B5:B15,4),a,C5:C15)}))
    

    也许吧 a 在lambda中不可迭代?

    谢谢你的帮助

    1 回复  |  直到 10 月前
        1
  •  1
  •   rockinfreakshow    10 月前

    您可以尝试:

    =map(unique(sort(year(B5:B15))),lambda(Σ,{Σ,sum(ifna(filter(C:C,year(B:B)=Σ)))}))
    

    enter image description here

    你也可以更换零件

    sum(ifna(filter(C:C,year(B:B)=Σ)))
    

    具有

    sumif(index(year(B:B)),Σ,C:C)