【问题标题】:Array formula with filter and index values depending on countif具有取决于 countif 的过滤器和索引值的数组公式
【发布时间】:2021-05-14 18:42:43
【问题描述】:

我只需要列 Date_2 中的数组公式,其结果如屏幕截图所示,

  • 根据Date_0插入一个月的最后一天(如果一堆 Color&Fruit&Meal 没有在表中重复)
  • 插入列Date_1的第一个最小日期(如果Color&Fruit&Meal第一次重复) - 1
  • 插入列 Date_1 的第二个最小日期 (如果 Color&Fruit&Meal 重复第二次) - 1
  • 等等……

可以用数组公式解决吗?

我试过了,但我不能..

=ArrayFormula(IF(A2:A="","",IF(COUNTIF(B2:B&C2:C&D2:D,B2:B&C2:C&D2:D)>1,INDEX(FILTER(B2:E,E2:E<>""),1,4),EOMONTH(A2:A,0))))

Google Sheets

【问题讨论】:

    标签: google-sheets array-formulas


    【解决方案1】:

    我不太确定Date_1 需要什么,但请在单元格F2 中尝试arrayformula 以获取Date_2

    =ARRAYFORMULA({"Date_2";if(IF(B2:B&amp;""&amp;C2:C&amp;""&amp;D2:D&lt;&gt;"",if(A2:A&lt;&gt;"",COUNTIFS(B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,ROW(A2:A),"&lt;="&amp;ROW(A2:A)),),)=1,eomonth(A2:A,0),)})

    【讨论】:

    • imgur.com/a/BcBOcxu G 列中的公式,但我需要手动列 F 中的结果
    • 在单元格 F4 中,您从哪里获得 2021 年 5 月 19 日?你要的逻辑是什么?
    • 从 Date_1 列 (5/20/2021) - 1 开始蓝莓蛋糕的最短日期
    • 好的,试试=ARRAYFORMULA({"Date_2";if(IF(B2:B&amp;""&amp;C2:C&amp;""&amp;D2:D&lt;&gt;"",if(A2:A&lt;&gt;"",COUNTIFS(B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,ROW(A2:A),"&lt;="&amp;ROW(A2:A)),),)=1,vlookup(C2:C&amp;D2:D,{C:C&amp;D:D,E:E},2,false),)})
    • 您的工作表已更改。试试=ARRAYFORMULA({"Date_2";if(IF(B2:B&amp;""&amp;C2:C&amp;""&amp;D2:D&lt;&gt;"",if(A2:A&lt;&gt;"",COUNTIFS(B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,B2:B&amp;"|"&amp;C2:C&amp;"|"&amp;D2:D,ROW(A2:A),"&lt;="&amp;ROW(A2:A)),),)=1,vlookup(C2:C&amp;D2:D,{C:C&amp;D:D,F:F},2,false),)}),这是在 Col F 中获取第一个日期以获取 cols BCD 的唯一排列,并查找 CD。
    【解决方案2】:

    我在 F1 中添加了一个带有以下公式的重复工作表(“Erik 帮助”):

    =ArrayFormula({"Date_2";IF(A2:A="",,IFERROR(VLOOKUP(B2:B&amp;C2:C&amp;D2:D&amp;TEXT(COUNTIFS(B2:B&amp;C2:C&amp;D2:D,B2:B&amp;C2:C&amp;D2:D,ROW(A2:A),"&lt;="&amp;ROW(A2:A))+1,"000"),{B2:B&amp;C2:C&amp;D2:D&amp;TEXT(COUNTIFS(B2:B&amp;C2:C&amp;D2:D,B2:B&amp;C2:C&amp;D2:D,ROW(A2:A),"&lt;="&amp;ROW(A2:A)),"000"),E2:E},2,FALSE)-1,EOMONTH(A2:A,0)))})

    此公式创建标题(您可以在公式中更改)和 F 列的所有结果。

    要查找“组的下一个实例(如果有的话)”,我只是将公式写入 VLOOKUP 该分组加上该分组的 COUNTIFS-as-of-that-row-plus-1 的文本呈现一列中的每个分组加唯一计数的虚拟数组和下一列中的 E2:E 数据。例如,对于第 2 行,公式 VLOOKUPs redapplepie002 (002 是 001 的文本再现,这是截至第 2 行的 redapplepie 的计数)。

    【讨论】:

      猜你喜欢
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多