I have two fields: Turnover and Turnover Date. The 'Turnover Date' is a formula field which needs to be automatically populated when the 'Turnover' field is changed/updated. Is there anyway to achieve with formula, or should I go for workflow rule?
I understand your question to mean that Turnover Date should reflect the last date/time that Turnover was changed. This cannot be done on a formula on its own.
A workflow rule, process builder or flow can do the trick (if Turnover is changed, update Turnover Date to current time), or you can enable history tracking for the Turnover field.