我有一个由两列组成的电子表格 - 每行包含一个日期和一个河流水位计读数。数据涵盖 20 年 - 1995-2015 年。我想要一个公式来搜索一个月和一年内河流水位的最高值,然后返回相应的日期。为了方便起见,我添加了两个额外的列,将左侧的日期细分为月份和年份。在下面的例子中,我想知道 2015 年 1 月最高读数的日期。答案是 1 月 29 日。请记住,我有从 1995 年 1 月 1 日到 2015 年 1 月 1 日每天的水位计读数。
Column A - Full Date Column B - Month Column C - Year Column D - Gauge Reading
January 29, 2015 1 2015 26.86
January 26, 2015 1 2015 26.84
January 27, 2015 1 2015 26.78
January 23, 2015 1 2015 26.7
January 25, 2015 1 2015 26.69
January 15, 2015 1 2015 26.68
January 24, 2015 1 2015 26.65
January 16, 2015 1 2015 14.09
January 17, 2015 1 2015 13.72
答案1
听起来您可以使用数组公式结合MAX
和IF
。我复制了您的数据并将其转换为表格,以便更容易理解公式。单个巨型公式如下所示(使用CTRL
+ SHIFT
+输入ENTER
):
{=MIN(IF(Table1[Month]=1,IF(Table1[Year]=2015,IF(Table1[Value]=MAX(IF(Table1[Month]=1,IF(Table1[Year]=2015,Table1[Value]))),ROW(Table1[Value])))))}
但我建议将其分成两个,这样更容易理解(H5
第二个公式指的是我碰巧放置第一个公式的单元格):
{=MAX(IF(Table1[Month]=1,IF(Table1[Year]=2015,Table1[Value])))}
{=MIN(IF(Table1[Month]=1,IF(Table1[Year]=2015,IF(Table1[Value]=H5,ROW(Table1[Value])))))}
第一个公式查找给定月份和年份中的最大读数。第二个公式查找该月份和年份中该读数的第一个实例。这意味着您将无法看到同一个月中碰巧相同的任何其他读数。请注意,您可以拥有一个包含所有月份的表格,并将和
的硬编码值更改为引用,这样您就可以对所有内容使用相同的公式。所有这些只是为您提供包含数据的行号。之后,您可以使用+或或或任何您喜欢的查找函数。1
2015
INDEX
MATCH
LOOKUP
OFFSET