You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

检查单元格是否含月份并与日期比对的Google Sheets实现需求

解决方案

核心思路

先将YYYY MONTHNAME格式的测试日期转换为Excel可识别的日期值,再结合Test Date Mappings工作表的起止日期区间做判断,同时区分测试通过/失败的场景。

公式实现

假设:

  • 主数据集的测试日期列是C列
  • Test Date Mappings工作表的开始日期列是B列,结束日期列是C列
  • 主数据集的测试结果列(通过/失败)是D列

F列(测试通过记录的区间判断)

在F2单元格输入以下公式,下拉填充:

=IF(ISBLANK('Test Date Mappings'!B2), "", IF(AND(DATEVALUE(C2&" 1") >= 'Test Date Mappings'!B2, DATEVALUE(C2&" 1") <= 'Test Date Mappings'!C2), "Yes", ""))

公式说明:

  • DATEVALUE(C2&" 1"):把YYYY MONTHNAME格式(如2024 January)转成当月1号的日期值,用于区间比对
  • ISBLANK('Test Date Mappings'!B2):判断映射表的开始日期是否为空,为空则返回空单元格
  • AND(...):当测试日期同时落在起止区间内时,返回"Yes",否则返回空

G列(测试失败记录的区间判断)

在G2单元格输入以下公式,下拉填充:

=IF(ISBLANK('Test Date Mappings'!B2), "", IF(AND(D2="失败", DATEVALUE(C2&" 1") >= 'Test Date Mappings'!B2, DATEVALUE(C2&" 1") <= 'Test Date Mappings'!C2), "Yes", ""))

公式说明:

  • 比F列多了D2="失败"的判断,仅针对测试失败的记录执行区间校验

注意事项

  • 如果MONTHNAME是中文(如2024 一月),DATEVALUE无法识别,需改用DATE函数手动转换,示例:
    DATE(LEFT(C2,4), SWITCH(RIGHT(C2,LEN(C2)-5), "一月",1,"二月",2,...,"十二月",12), 1)
    
  • 确保Test Date Mappings工作表的起止日期是Excel标准日期格式,而非文本格式

内容的提问来源于stack exchange,提问作者DanCue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:15:06