在 Excel 中添加缺失的日期

在 Excel 中添加缺失的日期

有几十万行涵盖 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. 对于辅助列 1,在单元格中写入此公式D3并向下填充。

     =INDEX(A3,1,1)
    
  2. 对于辅助列 2,在单元格中写入此公式E3并向下填充。

     =COUNTIF($D$3:$D3,D3)
    
  3. 在单元格中F3写入此公式并填写以生成日期。

     =IF(D3=D2,"",D3)
    
  4. 在单元格中写入此数组公式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
  • 根据需要调整公式中的单元格引用。

相关内容