If macros are an option for you, give the function after my signature a try.
In the VBA editor, insert a module (Insert/Module from the menu bar) and
copy/paste the code after my signature into the Module's code window... you
will now be able to call this function from the spreadsheet just like any
other spreadsheet function.
The function limits your math operations to addition, subtraction,
multiplication and division, but it will allow you to handle inputted values
up to 28 significant digits long (whether there is a decimal point in the
number or not), so long as the calculated answer has no more than 28 total
digits (which should easily cover the range you seem to be talking about).
The numbers and mathematical operation for them are inputted in their
natural order... the first argument is the initial value; the second
argument is one of these symbols "+", "-", "*", "/" (which symbol goes with
which math operation should be obvious); and the third argument is the value
to which the operation will be applied. There is an optional fourth argument
which is used to determine whether the answer should be returned with commas
(thousands separators) or not (the default is FALSE, no commas). Oh, and
your **large** numbers (more than 15 significant digits) should always be
text (use a leading apostrophe to enter them into a cell that will be
referenced by the formula; otherwise use quotes around the number if it is
entered directly as an argument). The calculated answers will always be
returned as text (the assumption being if you used the function, you did so
with very large numbers).
Here is an example showing both methods of specifying the numerical
arguments. Put the indicated **text** number in cell A1...
A1: '123,456,789,123,456,789
Then put this formula in any other cell...
=BigMath(A1,"+","12345678912345678.12345", TRUE)
The cell with the formula will display 135,802,468,035,802,467.12345 for the
answer.
Rick
Function BigMath(Operation As String, Value1 As String, Value2 As String, _
Optional WithCommas As Boolean = False) As String
Dim X As Long
Dim Pattern As String
Dim Answer As Variant
Select Case Operation
Case "+"
Answer = CStr(CDec(Value1) + CDec(Value2))
Case "-"
Answer = CStr(CDec(Value1) - CDec(Value2))
Case "*"
Answer = CStr(CDec(Value1) * CDec(Value2))
Case "/"
Answer = CStr(CDec(Value1) / CDec(Value2))
Case Else
' Impossible calculation in order to force a #VALUE! error
Answer = 10 ^ 400
End Select
Pattern = "#"
If InStr(Answer, ".") Then
Pattern = Pattern & "." & String(Len(Answer) - InStr(Answer, "."), "#")
End If
If WithCommas Then Pattern = "#,##" & Pattern
BigMath = Format$(Answer, Pattern)
End Function