Search Column A to match a number in column C if True return column B if false return “0”

后端 未结 4 481
长情又很酷
长情又很酷 2021-01-24 22:44

I am trying to make data collected in 15 minute increments look like data collected in 5 minute increments with the blank spaces being zero. I have created a column with Julian

4条回答
  •  鱼传尺愫
    2021-01-24 23:24

    Regarding Is a comment warning enough when dealing with potential data loss? and =TIME(0,ROW(1:1)*15,0)+A$2 I caution that applied ‘liberally’ there may be the risk of loss of data. May depend on machine specifications etc. but trying to fill most of a column with that formula my Excel crashed (after attempting for most of 1-1/2 hours). I’d be interested in the experiences of others, in part because dealing with the least significant digit might be processor dependent.

    On my machine I tried comparing:

    =TIME(0,ROW(1:1)*15,0)+A$2  
    

    with

    =TIME(0,15,0)+B2  
    

    Over 1,000 rows (ie about 10-1/2 days of quarter hours) and found differences (computed, so a possible source of further inaccuracy). The main difference being that the latter accounts for day changes (the integer part in Number format) whereas the former does not. Allowing for integer differences over 1,000 data points there were about 30 that differed by 0.00000000000003, in Number format, and a further 10 or so by much smaller amounts.

    The last data point (09:45 AM on day 10) was one of those exhibiting the larger difference (though not as the accumulation of a series of smaller differences). Any difference can be enough for a failure to make an exact match but in seconds that is a difference of about 0.000000002592 by my reckoning, say ~0.0000026 milliseconds or ~26 nanoseconds.

    Since in my opinion the day (integer part) is likely to be useful, I would recommend series fill by entering 0 in one cell and 00:15:00 in the next, the dragging down to suit. This has no performance impact because the cell contents are values rather than formulae. For the last entry this gives rise to a difference of 0.00000000000005, ie about twice as much as above, and in some cases as much as 0.00000000000009, about 78 nanoseconds.

    With rounding to the second there are differences of a similar order of magnitude. However, a comparison on the last series fill result, with rounding to the second, with the last result from =MROUND(TIME(0, ROW(1:1)*15,0)+A$2, TIME(0, 0, 1)) using EXACT, returns “TRUE”.

    Series fill of an entire column took me about 3 seconds. Then rounding to one second with a formula in another column about 12 seconds.

提交回复
热议问题