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

如何提取Excel中最长连续超10,000,000区间的最小值?

问题描述

需完成两项任务:

  • 统计数值超过10,000,000的最长连续时段长度(示例中为9)
  • 提取该最长连续时段内最接近10,000,000的最小值(示例中为11,000,000)

已通过数组公式(需按Ctrl+Shift+Enter执行)算出最长连续时段长度:

=MAX(FREQUENCY(IF(A28:AA28>=$A$1,COLUMN(A28:AA28)),IF(A28:AA28<$A$1,COLUMN(A28:AA28))))

(注:原公式中COLUMN(A8:AA28)为笔误,已修正为COLUMN(A28:AA28))

示例数据(单一行,列A到N):

  • A列:10,000,000
  • B列:18,000,000
  • C列:6,000,000
  • D列:15,000,000
  • E列:11,000,000
  • F列:15,000,000
  • G列:15,000,000
  • H列:15,000,000
  • I列:15,000,000
  • J列:19,000,000
  • K列:15,000,000
  • L列:15,000,000
  • M列:9,000,000
  • N列:7,000,000
解决方案

方法1:整合式数组公式(直接提取最小值)

使用以下数组公式(需按Ctrl+Shift+Enter执行),可直接定位最长连续符合条件的时段,并提取其中的最小值:

=MIN(IF(FREQUENCY(IF(A28:AA28>=$A$1,COLUMN(A28:AA28)),IF(A28:AA28<$A$1,COLUMN(A28:AA28)))=MAX(FREQUENCY(IF(A28:AA28>=$A$1,COLUMN(A28:AA28)),IF(A28:AA28<$A$1,COLUMN(A28:AA28)))),A28:AA28))

若存在多个长度相同的最长连续段,该公式会返回所有段中的最小值。

方法2:分步定位提取

  1. 获取最长连续段的起始列号
    执行以下数组公式(Ctrl+Shift+Enter):
=INDEX(COLUMN(A28:AA28),MATCH(MAX(FREQUENCY(IF(A28:AA28>=$A$1,COLUMN(A28:AA28)),IF(A28:AA28<$A$1,COLUMN(A28:AA28)))),FREQUENCY(IF(A28:AA28>=$A$1,COLUMN(A28:AA28)),IF(A28:AA28<$A$1,COLUMN(A28:AA28))),0))

示例中会返回D列的列号(4)。

  1. 提取该时段的最小值
    结合最长长度(9),用OFFSET定位区间后取最小值:
=MIN(OFFSET(A28,0,起始列号-COLUMN(A28),1,9))

示例中代入起始列号4,会提取D28:L28的最小值11,000,000。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:09:23