有几十万行涵盖 4 年的交易数据。需要在日期列中输入完整数据,但当天所有后续交易(可能是数百笔)仅输入一个日期...我需要将日期输入到每一行中,以便进行排序、透视等,但显然不想手动将多达 1000 个不同的日期复制并粘贴到近 30 万个单元格中。也许可以创建一个带有 if/then 语句的新列,如果非空白,则在旁边输入日期,如果为空白,则向上跳到下一个非空白单元格并输入该日期,但我不知道该怎么做。
答案1
您可以使用的公式非常简单,正如您在问题中描述的一样。为了说明起见,我们假设您的日期数据从 A1 开始。
- 添加一列(B)。
- 在单元格 B1 中,复制单元格 A1 的内容:
=A1
- 在单元格 B2 中,输入
=IF(A2="";B1;A2)
- 现在你可以将 B2 中的公式复制到数据末尾
这将基于两个条件:
(1)您的数据必须按日期排序(显然)
(2)当没有日期时,单元格必须是空的(因此测试=""
结果为TRUE
。如果单元格包含其他字符(空格或其他不可见字符),则必须使测试更复杂一些。
答案2
辅助列未隐藏时的场景:
我假设您在 Range 中拥有源数据A3:B12
。
怎么运行的:
对于辅助列 1,在单元格中写入此公式
D3
并向下填充。=INDEX(A3,1,1)
对于辅助列 2,在单元格中写入此公式
E3
并向下填充。=COUNTIF($D$3:$D3,D3)
在单元格中
F3
写入此公式并填写以生成日期。=IF(D3=D2,"",D3)
在单元格中写入此数组公式
H3
并向下填充。{=INDEX($B$3:$B$12, SMALL(IF($D3=$A$3:$A$12, ROW($A$3:$A$12)-MIN(ROW($A$3:$A$12))+1, ""), E3))}
笔记:
- 用 完成数组公式
Ctrl+Shift+Enter
。 - 根据需要调整公式中的单元格引用。