Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 日期的条件格式_Date_Google Sheets_Google Sheets Formula_Gs Conditional Formatting - Fatal编程技术网

Date 日期的条件格式

Date 日期的条件格式,date,google-sheets,google-sheets-formula,gs-conditional-formatting,Date,Google Sheets,Google Sheets Formula,Gs Conditional Formatting,我试图提出一个简单的条件格式公式,用于突出显示日期比今天的日期早三个月以上的单元格。虽然“日期在之前”选项似乎只给出了几个选项,但它们似乎都不允许我所寻找的。是否有一个自定义公式可以实现这一点 编辑:附加有关列的剪报: 转到条件格式规则中的自定义公式,并使用以下公式: =DATEDIF(A1,TODAY(),"D")<90 =DATEDIF(A1,TODAY(),“D”)试试: 还要确保您有有效的日期,而不是纯文本日期。您可以使用ISDATE公式来测试这一点,您可以使用和来解决根据日期

我试图提出一个简单的条件格式公式,用于突出显示日期比今天的日期早三个月以上的单元格。虽然“日期在之前”选项似乎只给出了几个选项,但它们似乎都不允许我所寻找的。是否有一个自定义公式可以实现这一点

编辑:附加有关列的剪报:


转到条件格式规则中的自定义公式,并使用以下公式:

=DATEDIF(A1,TODAY(),"D")<90
=DATEDIF(A1,TODAY(),“D”)试试:

还要确保您有有效的日期,而不是纯文本日期。您可以使用
ISDATE
公式来测试这一点,您可以使用和来解决根据日期设置单元格颜色的问题。转到工具->脚本编辑器并粘贴此代码:

函数onOpen(){ var ui=SpreadsheetApp.getUi(); ui.createMenu(“自定义菜单”) .addItem('检查差异','日期差异') .addToUi(); } 函数dateDifference(){ var sheet=SpreadsheetApp.getActiveSheet().getActiveRange();//在工作表上获取所选范围 var dates=sheet.getValues();//获取所选范围内的值 var一天=1000*60*60*24; var行=1; var re=/^(0?[1-9]|[12][0-9]|[3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$//;//这将帮助您检查这是否真的是一个日期 forEach(函数(el){//迭代每个值 if(typeof el[0]=='object'){//检查它是否真的是一个日期 var gmtZone=el[0]。toString().split(“”[4]。split(“”):“”[0];//取日期的GMT var dateFormatted=Utilities.formattate(el[0],gmtZone,“dd/MM/yyyy”);//格式化日期 if(re.test(dateFormatted)){//测试格式是否正确 //本部分将计算当前日期和未来日期之间的差异 var futureDateMs=新日期(el[0]); var todayDateMs=(新日期()).getTime(); var differenceInMs=未来日期ms-今天日期ms; var DifferenceDays=数学轮(differenceInMs/一天); 如果(差异日>=91.2501){//测试差异是否大于91.2501天(3个月) sheet.getCell(第1行).setBackground(#00FF00”);//设置单元格的颜色 } 行++; } } });
单击文件->保存保存它


然后,您可以在列中选择一个范围,然后单击自定义菜单->检查差异,如下图所示:

如您所见,您将获得所需的结果:


注意 注意你所说的“月份”是非常重要的,我的意思是你要考虑多少天。在我的代码中,我采纳了谷歌的建议:<代码> 1=30.4167 < /Cord>。

文件 以下是我阅读的其他文档,可以帮助您:


我希望这种方法能对您有所帮助。

公式:

=DAYS(now(),B2)>90

我刚试过,但它似乎没有突出显示任何单元格(编辑:我确实检查了它们是否都格式化为“日期”)我刚试过这个,它会高亮显示单元格,但看起来几乎是随机的…我不确定模式是什么。它甚至高亮显示了一些只包含文本的单元格。我在question@RichF回答UpdatedJust再次尝试此操作,但它似乎根本没有突出显示列中的单元格。我没有意识到这会结果太难了;我想一个简单的日期函数会更容易。你能分享一份工作表吗?它看起来并没有突出显示任何单元格
=DAYS(now(),B2)>90