发布网友 发布时间:2022-04-23 01:56
共4个回答
热心网友 时间:2023-10-10 20:28
选中要画线的区域,并点击右键→“设置单元格格式”→“字体”→“删除线”→设置颜色为红色“(一定要选择要画线的区域并设置格式哦)
并D2输入公式:=IF(AND(D$1>=DAY($A2),D$1<=DAY($B2)),REPT(" ",5),""),分别向右填充(ctrl+R)和向下填充(Ctrl+D)即可。
热心网友 时间:2023-10-10 20:28
你这条红线是通过绘图,画出来的吗?
我以为你是用条件格式设置的,条件格式没有中横线。
热心网友 时间:2023-10-10 20:29
=IF(AND(DAY($A3)<=D$1,DAY($B3)>=D$1),REPT("-",3),"")
下拉,右拉追问我试了这个公式,返回出来的值是0
追答这个公式要么返回横线,要么返回空格,就不会返回0,我那个公式假想的是你的起始日期在A列
结束日期在B列,12345。。。是从D列第三行开始
所以就在D3 单元格中输入上面公式就可以了,然后把这个公式右拉31列,下拉多少列你自己决定
按我说的你重作一遍试试,肯定没问题的
热心网友 时间:2023-10-10 20:29
=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),"")
最后的方案基本可以通用的,还不对再仔细核对引用的单元格地址对不对(你截图的时候应将行列标签包含在内)