We give a simple operational cost semantics for evaluation of spreadsheet formulas and for full and minimal recalculation. We also present a semantics which caters for computing with unknown data values. This may be used to give an approximation of the cost when input data is not yet provided. This semantics is a rudimentary big-step trace-based abstract interpretation based upon the cost semantics. Together, the semantic presentations form the formal foundations for various cost calculations implemented in the Funcalc spreadsheet platform. This can be used in cost estimation tools, e.g. to estimate which formulas in a spreadsheet are the most expensive, or to schedule parallel recalculation of a spreadsheet. In future work, further analyzes and verification tools can be built upon the formal semantics to reduce the large number of errors that commonly occur in spreadsheets.