Evaluate a simple spreadsheet
JavaScript, 125 112 105 bytes

To use, add f= at the beginning and invoke like f(argument).

a=&gt;a.map(b=&gt;b.map(p=&gt;+p?p:p?eval(p.replace(/[A-I][1-9]/g,m=&gt;`a[${m[1]-1}][${(m.charCodeAt(0)-65)}]`)):0))


Choices:


Does not require =.
The left most cell of second row is A2.
Does not require any prefix or suffix.
"" (Empty String) to denote empty cell.
JavaScript.
JavaScript.
Cookies. 


Explanation:

This solution iterates over all the cells of the worksheet (each element of the sub-arrays of the given array) and if non-empty String is found, replaces its cell references with the corresponding references in terms of the given array and evaluates the expression with eval() (yeah, that evil thing that haunts you in your nightmares). This solution assumes that the constants provided in the input array are of Integer type.

Test Cases



f=a=&gt;a.map(b=&gt;b.map(p=&gt;+p?p:p?eval(p.replace(/[A-I][1-9]/g,m=&gt;`a[${m[1]-1}][${(m.charCodeAt(0)-65)}]`)):0))

console.log(f([[1,2,3],["A1+B1+C1",10,11]]));
console.log(f([[1,2,5,4,6,89,0],[0,1,2,3,"A2+A1",5,6]]));
console.log(f([[1,2,4,5],["A1/B1*C1+A1+Math.pow(5,B1)",2,3,4]]));