我在Excel中有大量数据(60k行),与此类似:
Temperature Humidity Date
20.1 68 22-dec-14
20.3 67 22-dec-14
20.4 65 22-dec-14
20.0 64 23-dec-14
20.5 64 23-dec-14
20.9 65 24-dec-14
21.4 64 24-dec-14
23.4 64 25-dec-14
23.8 65 25-dec-14
23.9 64 25-dec-14
18.4 64 25-dec-14
我在此表格外创建了包含各个日期的新列,我想提取MAX,MIN以及该日期的AVERAGE
DATE MIN MAX AVG
22/Dez/14
23/Dez/14
24/Dez/14
25/Dez/14
我试过但我似乎找不到Excel为我工作的方法。你能帮帮我吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
假设列A包含日期,列B包含值。我允许每行6行;必要时延长。
考虑$ D $ 1的样本日期。你需要的公式是:
MIN:=MIN(IF(D1=A1:A6,B1:B6,MAX(B1:B6)))
。 (您需要将其作为数组公式输入。)
MAX:=MAX(IF(D1=A1:A6,B1:B6,MIN(B1:B6)))
。 (您需要将其作为数组公式输入。)
开箱即用AVERAGEIF
。
请记住,您需要按Ctrl + Shift + Return键才能输入数组公式。然后,这是一个向下复制该公式的简单案例。
如果集合中不存在给定日期,则返回整个样本的最小值或最大值,这可能是不可取的。您可以使用包含IF
。
答案 2 :(得分:1)
您可以使用 14 (AGGREGATE¹ function)和 15 ({{LARGE使用SMALL来处理伪MIN / MAX 3}})子功能与 6 (忽略错误)选项一起使用,AVERAGEIF function可以处理其余部分。
F2:H2中的标准公式是
=AGGREGATE(15, 6, ($A$2:$A$60000)/($C$2:$C$60000=$E2), 1)
=AGGREGATE(14, 6, ($A$2:$A$60000)/($C$2:$C$60000=$E2), 1)
=AVERAGEIF($C$2:$C$60000, $E2, $A$2:$A$60000)
根据需要填写。这种方法的一个优点是只需在AGGREGATE的右端提高 1 ( k ordinal )数字就可以获得第二个,第三个等最小或最大值。式。
¹ Excel 2010引入了AGGREGATE function。早期版本不提供。