如何将多个日期|数据列分组到左侧的一个日期列?

如何将多个日期|数据列分组到左侧的一个日期列?

我有一组如下所示的数据:

这

我一直在尝试将其格式化,以便左侧只有一列日期,而不是每项都有一列日期。问题是其中一些缺少日期,我不知道如何为这些日期插入空白单元格,以及如何使所有数据都与正确的日期匹配。

答案1

如果您没有 O365,我建议使用 VBA 或 Power Query 解决方案。

但是,如果您有 Excel O365,您可以尝试以下操作:

  • 根据您的数据创建一个表(我的表名是Table5;调整公式以匹配您的表名。
    • 这样做会自动将标题放在空白列中,其名称类似于数字在ColumnN哪里N

鉴于我的结果从 A22 开始(见下文)

公式:

  • 原始表中唯一日期的排序列表:

      A23: =SORT(UNIQUE(FILTERXML("<t><s>" & TEXTJOIN("</s><s>",TRUE,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))) & "</s></t>","//s")))
    
  • 公司名单:

      B22: =FILTER(Table5[#Headers],ISERR(FIND("Column",Table5[#Headers])))
    
  • 返回匹配的值

      B23: =LET(x,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,2,MATCH(B$22,Table5[#Headers],0)-1)),y,XLOOKUP($A23,INDEX(x,0,1),INDEX(x,0,2),""),y)
    

选择B23并向下和横向填充以填充结果表。

在此处输入图片描述

唯一日期公式的解释:

INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))

将返回仅包含奇数列(即日期列)的表

TEXTJOIN("</s><s>",TRUE,the_odd_column_table)

将这些日期列中的所有条目合并为一个带有指定分隔符的字符串

FILTERXML("<t><s>" & the_joined_string & "</s></t>","//s")))

创建一个 XML,然后返回一个节点数组(这将是原始表格中的日期)

SORT(UNIQUE(the_dates_array))

显而易见。

相关内容