如何用Excel公式合并D2、D5、D8等间隔单元格的日期时间文本
Excel间隔固定步长单元格日期时间合并方案
你需要合并的是步长为3的D列单元格(起始行D2,后续每次向下跳2行即间隔3行),可根据你使用的Excel版本选择对应公式:
适用Excel 365/2021及以上版本
直接使用支持动态数组的公式即可自动匹配所有符合规则的单元格:
=TEXTJOIN("、",TRUE,FILTER(TEXT(D:D,"yyyy-mm-dd hh:mm"),MOD(ROW(D:D)-2,3)=0))
参数说明:
TEXT(D:D,"yyyy-mm-dd hh:mm"):统一日期时间的显示格式,可根据你的需求调整格式字符串,不需要统一格式可直接删掉这层嵌套,替换为D:DMOD(ROW(D:D)-2,3)=0:匹配规则:行号减2后除以3余数为0,刚好对应D2、D5、D8……的规律。如果你的起始行或步长有变化,调整对应参数即可:- 起始行变化:比如从D3开始取,就把
-2改成-3 - 步长变化:比如要取D2、D6、D10……步长为4,就把
3改成4
- 起始行变化:比如从D3开始取,就把
TEXTJOIN的第一个参数"、"是合并后的分隔符,需要换行分隔就换成CHAR(10),输入公式后把单元格设置为自动换行即可- 第二个参数
TRUE表示自动跳过空单元格,避免出现多余的分隔符
适用Excel 2019及更低版本
如果你的Excel版本不支持TEXTJOIN和FILTER函数,有两种可选方案:
- 待合并单元格数量较少时,直接手动拼接:
=D2&"、"&D5&"、"&D8&"、"&D11
按你的实际需要拼接对应单元格即可
- 待合并单元格数量较多时,可以先加辅助列:在E2输入
=IF(MOD(ROW()-2,3)=0,D2,""),下拉填充到D列数据最后一行,之后拼接辅助列的非空内容即可。
Excel表示例:
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

