答案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))
显而易见。