Should be possible in principle.
You would need to define all timings and parse the field appropriately. For example, you can calculate the next Monday as of today like
=Date(today() + (7-WeekDay(today()) ) )
Then your script could look like
report, [refreshment frequency], timing,
if( timing = 'Mondays', Date(today() + (7-WeekDay(today()) )), 'other calculations') as [next refreshment date]
but there are probably better / more elegant ways to pick the correct expression.
Hope this helps,