Про ограниченность электронных таблиц
Когда впервые увидел электронную таблицу, я не понял зачем это нужно. Мне сказали, чтобы считать деньги. Ну ок.
Шли годы. Таблицы очень пригождались. Но периодически всплывали глюки, разбираться с которыми не было времени. Вот пример (значения из реального финансового отчета):
1. Запишем в одну ячейку число 1300000,00
2. В другую - 1232485,15
3. В третью ячейку введем формулу: разность значений первых двух ячеек. Получим 67514,85 - верно? Или нет?
4. Добавим число отображаемых знаков после запятой. Что это там на 10-й позиции? Единичка! Откуда она там взялась?
Популярные электронные таблицы в ходе операций с числовыми значениями преобразуют их к двоичному виду с плавающей точкой. Ключевое слово здесь - двоичный. Т.е. наше десятичное дробное число 1232485,15 преобразовывается в последовательность 0 и 1 с некоторым округлением.
Да, в подавляющем числе вычислений эти погрешности не возникают, а если возникают, то не играют роли. Но этот дробный мусор заставляет дергаться глаз бухгалтера.
Получается, что электронные таблицы - это не лучший механизм для счета денег. В современных СУБД и языках программирования обычно есть выделенный тип CURRENCY. По сути, это длинный целый тип, в котором счет ведется в копейках и никаких погрешностей не возникает.

В огороде бузина в киеве дядька епт.
Для счета денег в ЭЛЕКТРОННЫХ ТАБЛИЦАХ изначально были типы вида DECIMAL и прочие предназначенные для счета денег. Задаются по принципу decimal (10,6) - где 10 это число знаков до запятой и 6 после. Физически выглядит как два целых.
Вычисления ведутся специальными либами, которым пох на количество знаков, хранится число по сути в текстовом поле неограниченной длины.