实际表:数据不规则地分布在几行上,因此部分行是空的
日期 | 文本 |
---|---|
日期_1 | 文本_1A |
文本_1B | |
日期_3 | 文本_3A |
文本_3B | |
文本_3C | |
日期_6 | 文本_6A |
文本_6B | |
日期_8 | 文本_8A |
文本_8B | |
文本_8C | |
日期_11 | 文本_11A |
文本_11B | |
日期_13 | 文本_13A |
文本_13B | |
文本_13C |
所需表
日期 | 文本 |
---|---|
日期_1 | 文本_1A 文本_1B |
日期_2 | 文本_2A 文本_2B 文本_2C |
日期_3 | 文本_3A 文本_3B |
日期_4 | 文本_4A 文本_4B 文本4C |
日期_5 | 文本_5A 文本_5B |
日期_6 | 文本_6A 文本_6B 文本_6C |
- 如果有规律的间隔,我会使用 CONCATENATE 函数。不幸的是,它是不规则的。
- 大约有 8'000 行。
- 我有带 Excel 的 Microsoft 365。此外,我还可以访问 LibreOffice 或 Ubuntu 上的命令行。
- 如果这个问题已经有人问过了,您能否提供链接或者指出相关的搜索标签,因为我没有找到任何东西。
回应 Scott Craner 的补充信息:最好将数据填入集合的第一行。
答案1
使用 LET、SCAN、BYROW 和 LAMBDA:
=LET(
d,A2:A16,
t,B2:B16,
f,SCAN(a,A2:A16,LAMBDA(a,b,IF(b<>"",b,a))),
u,UNIQUE(f),
CHOOSE({1,2},u,BYROW(u,LAMBDA(a,TEXTJOIN(" ",TRUE,FILTER(t,f=a,""))))))
f
是标准化日期的完整数组,它基本上用上面的值填充任何空单元格。
然后我们得到一个唯一的列表,逐行浏览并将文本列中的文本连接到唯一的日期。
几点注意事项: