怎么让EXCEL表格左右日期对应,自动出现红线来表示时间区间。

比如说我用EXCEL做了以下表格:我想要当我的起始日期列和结束日期列输入具体日期后,在右边的表格中自动对应的出现红线,如我在起始日期列输入2014-1-3,在结束日期列输入2014-1-4,然后在右边一月份下面的3,4的单元格内自动出现一条红线代表这个时间区间。

    选中要画线的区域,并点击右键→“设置单元格格式”→“字体”→“删除线”→设置颜色为红色“(一定要选择要画线的区域并设置格式哦)

    并D2输入公式:=IF(AND(D$1>=DAY($A2),D$1<=DAY($B2)),REPT(" ",5),""),分别向右填充(ctrl+R)和向下填充(Ctrl+D)即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-08
你这条红线是通过绘图,画出来的吗?
我以为你是用条件格式设置的,条件格式没有中横线。
第2个回答  2014-01-08
=IF(AND(DAY($A3)<=D$1,DAY($B3)>=D$1),REPT("-",3),"")

下拉,右拉追问

我试了这个公式,返回出来的值是0

追答

这个公式要么返回横线,要么返回空格,就不会返回0,我那个公式假想的是你的起始日期在A列
结束日期在B列,12345。。。是从D列第三行开始
所以就在D3 单元格中输入上面公式就可以了,然后把这个公式右拉31列,下拉多少列你自己决定
按我说的你重作一遍试试,肯定没问题的

第3个回答  推荐于2016-11-12
=IF(AND(DAY($A3)<=D$1,DAY($B3)>=D$1),REPT("-",3),"")
  上述公式中不成功的原因,首先可能是单元格引用的行数不对,从上图看,至少应在第4行,总之选要明确最开始两格是a4,b4,还是其它地址。
  如果还不对,则可能单元格中的数据不是日期格式,而是文本格式,文本格式还要看前面是否带了单引号,因而不能简单应用day()逊数
  如是没带单引号,是完全符合日期格式的“文本”,可先用文本转日期函数,如:
  DATEVALUE(a4),嵌套起来就是 day(DATEVALUE(a4)
  如是不太标准的文本格式,则需直接用取子串函数,需判断最后“日”的字符起始位置和数字个数。这个函数大慨是这样的:
  MID(A4,FIND("-",A4,FIND("-",A4)+1)+1,LEN(A4)-FIND("-",A4,FIND("-",A4)+1))
  可靠一点,上面得到的是文本,还要转换成数值
  VALUE(MID($A4,FIND("-",$A4,FIND("-",$A4)+1)+1,LEN($A4)-FIND("-",$A4,FIND("-",$A4)+1)))
  就用这个代替day($a3),相应的将后面的DAY($B3)换成
  VALUE(MID($B4,FIND("-",$B4,FIND("-",$B4)+1)+1,LEN($B4)-FIND("-",$B4,FIND("-",$B4)+1)))
  最终完整的公式是
=IF(AND(VALUE(MID($A4,FIND("-",$A4,FIND("-",$A4)+1)+1,LEN($A4)-FIND("-",$A4,FIND("-",$A4)+1)))<=D$1,VALUE(MID($B4,FIND("-",$B4,FIND("-",$B4)+1)+1,LEN($B4)-FIND("-",$B4,FIND("-",$B4)+1)))>=D$1),REPT("-",3),"")
  最后的方案基本可以通用的,还不对再仔细核对引用的单元格地址对不对(你截图的时候应将行列标签包含在内)本回答被提问者采纳