Forum Discussion
Formula to identify the time closest to 07:00
- Apr 16, 2019
martin77 , for such sample
it could be
=A2=IF(INT(A2)+7/24-AGGREGATE(14,6,1/(INT(A2)+7/24>$A$2:$A$26)*$A$2:$A$26,1)< AGGREGATE(15,6,1/(INT(A2)+7/24<=$A$2:$A$26)*$A$2:$A$26,1)-(INT(A2)+7/24), AGGREGATE(14,6,1/(INT(A2)+7/24>$A$2:$A$26)*$A$2:$A$26,1), AGGREGATE(15,6,1/(INT(A2)+7/24<=$A$2:$A$26)*$A$2:$A$26,1))
=AND(HOUR(A2)>6,HOUR(A2)<8)
It would highlight any row with a time in column A between 6 and 8
Many thanks JKPieterse,for the feedback, unfortunately that will not help because if the datetime range were different, it is possible that the times could be before 06:00 or after 08:00.
Here is another example to show you what I mean:
- SergeiBaklanApr 16, 2019Diamond Contributor
martin77 , for such sample
it could be
=A2=IF(INT(A2)+7/24-AGGREGATE(14,6,1/(INT(A2)+7/24>$A$2:$A$26)*$A$2:$A$26,1)< AGGREGATE(15,6,1/(INT(A2)+7/24<=$A$2:$A$26)*$A$2:$A$26,1)-(INT(A2)+7/24), AGGREGATE(14,6,1/(INT(A2)+7/24>$A$2:$A$26)*$A$2:$A$26,1), AGGREGATE(15,6,1/(INT(A2)+7/24<=$A$2:$A$26)*$A$2:$A$26,1))- martin77Apr 16, 2019Copper Contributor
WowSergeiBaklan - That is amazing. :-)
Thanks you so much for your help. I am now going to investigate what you have done here as I am not yet familiar with the 'aggregate' formula.
- SergeiBaklanApr 16, 2019Diamond Contributor
martin77 ,
Hi Martin,
AGGREGATE finds largest (first parameter 14) or smallest (15) value in the array (third parameter) ignoring all errors (second parameter = 6). Array is multiplication of 1/(...), which gives ignored error if time is more than/less than 7am for given date, on dates itself. Thus first part gives error or 1, multiplied on the date it returns error or date.
Finding closest early time and closest later time we compare it, and depends on where the difference is less take one or another.
What I forgot that's to test if you have exactly 7:00 in your date/time, perhaps we shall use <= (or >=) in one of conditions instead of < or > (AGGREGATE will return exact date in both cases)