Excel 识别数据层次后转换成表格

某列数据可分为 3 层,第 1 层是字符串,第 2 层是日期,第 3 层是时间:

|----|------------|
| | A |
| 1 | NAME1 |
| 2 | 2024-06-03 |
| 3 | 04:06:12 |
| 4 | 04:09:23 |
| 5 | 08:09:23 |
| 6 | 12:09:23 |
| 7 | 17:02:23 |
| 8 | 2024-06-02 |
| 9 | 04:06:12 |
| 10 | 04:09:23 |
| 11 | 08:09:23 |
| 12 | NAME2 |
| 13 | 2024-06-03 |
| 14 | 04:06:12 |
| 15 | 04:09:23 |
| 16 | 2024-06-02 |
| 17 | 12:09:23 |
| 18 | 17:02:23 |

需要正确识别三层数据,并转为规范的表格:

|----|-------|------------|----------|
| | D | E | F |
| 1 | NAME1 | 2024-06-03 | 04:06:12 |
| 2 | NAME1 | 2024-06-03 | 04:09:23 |
| 3 | NAME1 | 2024-06-03 | 08:09:23 |
| 4 | NAME1 | 2024-06-03 | 12:09:23 |
| 5 | NAME1 | 2024-06-03 | 17:02:23 |
| 6 | NAME1 | 2024-06-02 | 04:06:12 |
| 7 | NAME1 | 2024-06-02 | 04:09:23 |
| 8 | NAME1 | 2024-06-02 | 08:09:23 |
| 9 | NAME2 | 2024-06-03 | 04:06:12 |
| 10 | NAME2 | 2024-06-03 | 04:09:23 |
| 11 | NAME2 | 2024-06-02 | 12:09:23 |
| 12 | NAME2 | 2024-06-02 | 17:02:23 |

使用 SPL XLL,输入公式:

复制代码
=spl("=E@1(?).(if(ifstring(~):s=~, if(ifdate(E(~))):d=~; [s,d,~])).select(ifa(~))",A1:A18)

spl返回的日期类型为整数形式,需用 Excel 的 "format cells" 功能(或 spl 的 E 函数)格式化为易读形式,时间类型同样处理。

函数 E 可转换 Excel 的日期时间类型,E@1 将多层序列转为单层。~ 表示当前成员。if 函数从左到右依次判断真假并执行表达式,最后执行缺省表达式。ifa 判断变量是否为序列。

相关推荐
Non-existent98710 天前
WPS批量清理单元格空白字符的4种方法-异常数字格式处理-实战
excel·wps
Channing Lewis11 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
jarreyer11 天前
【数据分析绘图】excel绘图和bi工具区别
数据挖掘·数据分析·excel
chatexcel11 天前
ChatExcel Max使用教程:图片、PDF、网页与复杂Excel的一站式数据分析
数据分析·pdf·excel
cngkqy11 天前
excel从某一列中用match筛选匹配的数据
excel
qq_5469372711 天前
Excel批量转PDF_Word_图片,支持自动合并报表,效率翻倍。
pdf·word·excel
ai_coder_ai11 天前
在自动化脚本中操作excel文件
运维·自动化·excel
三千花灯11 天前
【Playwright】 自动化测试之参数化登录(Excel/CSV 数据源)
人工智能·机器学习·excel
罗政11 天前
AI工作流实现Excel全自动化(支持SQL)-案例:医院门诊排班表
人工智能·自动化·excel
小妖66611 天前
excel 怎么在单元格内容自动加上一段文字不能用公式
excel·vba