Something like that?
to_replace <- is.nan(df1$SearchVolume)
df1$SearchVolume[to_replace] <- df2$SearchVolume[to_replace]
That's if they have the same order. Else you need to sort or merge first:
df_merged <- merge(df1, df2, by=Keywords)
df_merged$newSearchVolume <- ifelse(! is.nan(df_merged$SearchVolume.x),
df_merged$SearchVolume.x,
df_merged$SearchVolume.y)
Not tested, there might be typos.