Excel 生成所在月份的每一天列表

Excel 的 A2 格是日期

|---|----------|
| | A |
| 1 | Fecha |
| 2 | 01/03/24 |

需要生成该日期所在月份的每一天的列表

|----|------------|
| | A |
| 1 | WholeMonth |
| 2 | 01/03/24 |
| 3 | 02/03/24 |
| 4 | 03/03/24 |
| 5 | 04/03/24 |
| 6 | 05/03/24 |
| 7 | 06/03/24 |
| 8 | 07/03/24 |
| 9 | 08/03/24 |
| 10 | 09/03/24 |
| 11 | 10/03/24 |
| 12 | 11/03/24 |
| 13 | 12/03/24 |
| 14 | 13/03/24 |
| 15 | 14/03/24 |
| 16 | 15/03/24 |
| 17 | 16/03/24 |
| 18 | 17/03/24 |
| 19 | 18/03/24 |
| 20 | 19/03/24 |
| 21 | 20/03/24 |
| 22 | 21/03/24 |
| 23 | 22/03/24 |
| 24 | 23/03/24 |
| 25 | 24/03/24 |
| 26 | 25/03/24 |
| 27 | 26/03/24 |
| 28 | 27/03/24 |
| 29 | 28/03/24 |
| 30 | 29/03/24 |
| 31 | 30/03/24 |
| 32 | 31/03/24 |

使用 SPL XLL,输入公式:

复制代码
=spl("=d=E(?),periods(pdate@m(d),pdate@me(d)).(E(~))",A2)

函数E可转换Excel日期类型,periods按起止日期生成列表,pdate@m 获取某日期所在月份的第 1 天,@e 返回最后一天。

A 列有多个日期时也可以一次计算出来:

|---|----------|
| | A |
| 1 | Fecha |
| 2 | 01/03/24 |
| 3 | 03/03/24 |
| 4 | 05/03/24 |
| 5 | 10/03/24 |
| 6 | 31/03/24 |
| 7 | 02/05/24 |
| 8 | 28/05/24 |

取出所有不同的月份,并生成这些月每天的列表:

|----|------------|
| | A |
| 1 | WholeMonth |
| 2 | 01/03/24 |
| 3 | 02/03/24 |
| 4 | 03/03/24 |
| 5 | 04/03/24 |
| 6 | 05/03/24 |
| 7 | 06/03/24 |
| 8 | 07/03/24 |
| 9 | 08/03/24 |
| 10 | 09/03/24 |
| 11 | 10/03/24 |
| 12 | 11/03/24 |
| 13 | 12/03/24 |
| 14 | 13/03/24 |
| 15 | 14/03/24 |
| 16 | 15/03/24 |
| 17 | 16/03/24 |
| 18 | 17/03/24 |
| 19 | 18/03/24 |
| 20 | 19/03/24 |
| 21 | 20/03/24 |
| 22 | 21/03/24 |
| 23 | 22/03/24 |
| 24 | 23/03/24 |
| 25 | 24/03/24 |
| 26 | 25/03/24 |
| 27 | 26/03/24 |
| 28 | 27/03/24 |
| 29 | 28/03/24 |
| 30 | 29/03/24 |
| 31 | 30/03/24 |
| 32 | 31/03/24 |
| 33 | 01/05/24 |
| 34 | 02/05/24 |
| 35 | 03/05/24 |
| 36 | 04/05/24 |
| 37 | 05/05/24 |
| 38 | 06/05/24 |
| 39 | 07/05/24 |
| 40 | 08/05/24 |
| 41 | 09/05/24 |
| 42 | 10/05/24 |
| 43 | 11/05/24 |
| 44 | 12/05/24 |
| 45 | 13/05/24 |
| 46 | 14/05/24 |
| 47 | 15/05/24 |
| 48 | 16/05/24 |
| 49 | 17/05/24 |
| 50 | 18/05/24 |
| 51 | 19/05/24 |
| 52 | 20/05/24 |
| 53 | 21/05/24 |
| 54 | 22/05/24 |
| 55 | 23/05/24 |
| 56 | 24/05/24 |
| 57 | 25/05/24 |
| 58 | 26/05/24 |
| 59 | 27/05/24 |
| 60 | 28/05/24 |
| 61 | 29/05/24 |
| 62 | 30/05/24 |
| 63 | 31/05/24 |

同样使用 SPL XLL,输入公式:

复制代码
=spl("=?.conj().(E(~)).group@u1(month@y(~)).(periods(pdate@m(~),pdate@me(~))).conj().(E(~))",A2:A8)

函数 conj 用于合并成员。month@y 计算出月份并附带年份。group@1 取出每个分组的第一个成员,@u 表示分组后不排序。。

相关推荐
SunkingYang17 小时前
详细介绍C++中通过OLE操作excel时,一般会出现哪些异常,这些异常的原因是什么,如何来解决这些异常
c++·excel·解决方案·闪退·ole·异常类型·异常原因
Wu_hello_mi17 小时前
Excel使用教程笔记
笔记·excel
恶猫18 小时前
Polaris Officev9.9.12全功能解锁版
pdf·word·excel·ppt·office·办公·打工
杂货铺的小掌柜19 小时前
apache poi excel 字体数量限制
java·excel·poi
东方佑1 天前
基于FastAPI与LangChain的Excel智能数据分析API开发实践
langchain·excel·fastapi
许泽宇的技术分享1 天前
当Excel遇上大语言模型:ExcelAgentTemplate架构深度剖析与实战指南
语言模型·架构·excel
gihigo19981 天前
基于MATLAB的Excel文件批量读取与循环处理
matlab·excel
CodeCraft Studio2 天前
Excel处理控件Aspose.Cells教程:使用 Python 将 HTML 转换为 Excel
python·html·excel·aspose·aspose.cells·html转excel
Leo655352 天前
Excel 读取阶段就去掉换行
excel