You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

技术问询:日期数组最值查找及Google Sheets按日期提取C列最值填充F/G列

我来帮你解决这两个问题哈~

一、日期数组中查找最小值/最大值的通用实现方法

不同编程语言里处理日期数组的逻辑大同小异,核心是让日期能被正确比较:

  • Python:如果数组里是datetime对象,直接用内置的min()max()函数就能搞定,比如:
    from datetime import datetime
    date_array = [datetime(2024, 5, 1), datetime(2024, 3, 15), datetime(2024, 6, 20)]
    min_date = min(date_array)
    max_date = max(date_array)
    
    如果是字符串格式的日期,先转成datetime对象再比较:
    date_str_array = ["2024-05-01", "2024-03-15", "2024-06-20"]
    date_array = [datetime.strptime(d, "%Y-%m-%d") for d in date_str_array]
    min_date = min(date_array)
    
  • JavaScript:数组里的Date对象可以直接用Math.min()Math.max()(注意要展开数组),或者用数组的reduce()方法:
    const dateArray = [new Date(2024, 4, 1), new Date(2024, 2, 15), new Date(2024, 5, 20)];
    const minDate = new Date(Math.min(...dateArray));
    const maxDate = new Date(Math.max(...dateArray));
    
  • 表格工具(Excel/Google Sheets):如果是日期组成的单元格区域,直接用MIN(区域)MAX(区域)就能返回最小/最大日期,比如=MIN(A1:A10)
二、Google Sheets中按日期提取C列最值到F、G列的最优公式

假设你的表格里A列是日期列,分两种场景给出最优公式:

1. 手动输入目标日期到F列,匹配对应最值

  • F列放目标日期,G列(对应C列最小值)用公式:
    =MINIFS(C:C, A:A, F2)
    
  • H列(对应C列最大值)用公式:
    =MAXIFS(C:C, A:A, F2)
    
    输入完公式后下拉填充所有行就行,MINIFSMAXIFS是专门按条件找最值的函数,逻辑清晰,计算效率也高。

2. 自动提取唯一日期+批量匹配最值(一次性搞定)

如果F列还没有目标日期,想自动提取A列的唯一日期并批量生成对应最值,可以用数组公式:

  • 先在F2单元格生成唯一日期列表:
    =UNIQUE(FILTER(A:A, A:A<>""))
    
  • 然后在G2单元格用数组公式批量计算对应最小值:
    =ARRAYFORMULA(IF(F2:F="",,MINIFS(C:C, A:A, F2:F)))
    
  • 在H2单元格用数组公式批量计算对应最大值:
    =ARRAYFORMULA(IF(F2:F="",,MAXIFS(C:C, A:A, F2:F)))
    
    这样只需要输入一次公式,就能自动填充所有行,不用手动下拉,非常方便。

如果你的表格结构和假设不同(比如日期列不是A列),只需要把公式里的A:A改成实际的日期列就行~

内容的提问来源于stack exchange,提问作者Владимир Владимирович

火山引擎 最新活动