2016-05-05 123 views
0

我想建立一个潮汐表。我已经有每天和每5分钟的潮汐高度。最大闵潮汐高度

我现在的问题是从这些值中确定每天的高潮和低潮的高度值。

到目前为止,我已经做到了 “手动” 用最大公式 = IF(E12 = MAX($ E $ 2:$ E $ 289),MAX($ E $ 2:$ E $ 289), “”) enter image description here

不实际......任何人都可以帮助我吗?

+0

您可以根据您的数据创建数据透视表,以获取最大值和最小值。看看[THIS](http://stackoverflow.com/questions/18406328/get-maximum-value-based-on-unique-values)之一。 –

+0

如果你对数据透视表方法不感兴趣,你打算使用助手单元吗? –

回答

1

第一生成唯一的日期在H列清单

这个地方抄下需要:

=IFERROR(INDEX($A$2:$A$1564,MATCH(0,INDEX(COUNTIF($H$1:$H1,$A$2:$A$1564),0,0),0)),"") 

,并应产生独​​特的日期列表。然后在每个日期旁边,我们将搜索最大和最小值。所以在专栏中,我使用下面的MIN

=AGGREGATE(15,6,$E$2:$E$1564/($A$2:$A$1564=I2),1) 

,然后在J列的MAX使用:

=AGGREGATE(14,6,$E$2:$E$1564/($A$2:$A$1564=I2),1) 

替换1564与您的最后一排。将公式从第2行复制到您拥有的最后一个唯一日期。

+0

还不错。不知道@scottcraner是否可以用一个公式来完成= P – findwindow

+1

@findwindow我已经采纳了斯科特作为我的导师...... ssshhhh他不知道。 –

+0

呃......我很抱歉,他是_my_导师。 – findwindow

2

要做到这一点在一个式:

MAX:

=INDEX($D$2:$D$28,MATCH(1,INDEX(($E$2:$E$28=AGGREGATE(14,6,$E$2:$E$28/(INT($D$2:$D$28)=INT($H2)),1))*(INT($D$2:$D$28)=INT($H2)),),0)) 

MIN:

=INDEX($D$2:$D$28,MATCH(1,INDEX(($E$2:$E$28=AGGREGATE(15,6,$E$2:$E$28/(INT($D$2:$D$28)=INT($H2)),1))*(INT($D$2:$D$28)=INT($H2)),),0)) 

enter image description here

然后格式化,其中所述式驻留随着时间的细胞。否则,它会显示完整的日期。

+0

为你拍摄桶中的鱼。现在不使用'index/match' = P – findwindow

+0

@findwindow然后我需要使用OFFSET或INDIRECT,我讨厌那些公式。 –

+0

我甚至需要看看斯科特的答案,或者我可以在他提出任何问题后立即开始投票吗? 8)等待第二个。我相信我原来的评论我动态地选择源数据的范围。如果我读了这个权利,斯科特就欺骗了它,并将它硬编码为28行! 8) –