Is this what you want to do?
library(tidyverse)
df %>%
filter(Col.2 > 750, Col.2 < 849) %>%
arrange(time) %>%
mutate(Col.6 = if_else(Col.2 == Col.4, Col.3, NA_real_)) %>%
group_by(time) %>%
fill(Col.6, .direction = "down")
If this doesn't solve your problem, please provide a minimal REPRoducible EXample (reprex) illustrating your issue.