Sum vs СУММ

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Sum vs СУММ

Сообщение galover »

Всем привет. Так и не поборол я эту проблему с формулами суммирования. Пишу в матрицу формулу как XlStWriteToMatrix(row, col, 'SUM(RC:RC)'; На некоторых машинах работает нормально, на других получаю в ячейках с формулами - #ИМЯ? (после F2 + Enter) -> формула становится валидной. Менял SUM на СУММ ситуация противоположная, где работало перестает, зато где не работало начинает работать. При этом офисы руссифицированные SUM работает на 2007 и 2003, а СУММ на 2000, но подозреваю, что дело не в версии офиса, в общем хэлп!
Dude
Сообщения: 7
Зарегистрирован: 16 июн 2008, 15:27
Контактная информация:

Сообщение Dude »

Я обычно в Excel выкидываю данные, а все вычисления делаю на бэйсике. Гораздо проще и у всех все работает
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Dude у меня большой объем данных и вывожу я все это хоз-во матрицей, хотелось бы и формулы сразу скинуть, а не пробивать их после вывода данных, так что такой вариант рассматривается как самый последний
Dude
Сообщения: 7
Зарегистрирован: 16 июн 2008, 15:27
Контактная информация:

Сообщение Dude »

А что мешает провести вычисления в Галактике, а потом записывать результаты в матрицу?
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

если не нужно было бы формулами, то и не заморачивался. Использую вычислительные мощности Экселя. Куча суммирований по столбцам и строкам + нужно чтобы после изменения данных, сумма пересчитывалась автоматом, желание очень простое
Dude
Сообщения: 7
Зарегистрирован: 16 июн 2008, 15:27
Контактная информация:

Сообщение Dude »

А если написать свой макрос на суммирование и уже его вызывать вместо формулы SUM?
З.Ы.: Проверял на своем Excel 2003 - SUM выдает ошибку, а СУММ работает корректно
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Dude
ну с макросами не хотелось бы возиться - тем более что проблема простая и встречается часто, хочется наконец понять в чем здесь запутка
Dude
Сообщения: 7
Зарегистрирован: 16 июн 2008, 15:27
Контактная информация:

Сообщение Dude »

Проблема в самом Excel. Почему то не всегда считает что Sum и СУММ - это одно и то же. Может даже вина тех, кто его переводил. У меня, кстати, Sum вообще никак принять не хочет.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Dude
ну на самом деле как: Excel распознает Sum как СУММ только при вставке массива (вставляется формула как СУММ, что интересно, только с ошибкой вычисления, правится по F2+Enter), если же просто набить руками формулу, то уже ошибка, русский Excel не понимает SUM.

А как у вас было с SUM -> формула вставилась из галки как СУММ? По F2 + Enter все встало нормально, ошибка пропала?
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Сообщение galover »

Нашел в чем запутка! Ответ здесь http://www.delphikingdom.ru/asp/viewite ... alogid=920
Запись в свойство Formula, FormulaLocal, Value, Value2 из Variant-ного массива идентична в русском Excel'е и при работе из Delphi. Но, если мы хотим вставлять формулы прямо из массива, все они должны быть только русскими!

Примечание:
спасибо фирме Microsoft, которая в версии Excel 2003 все это исправило. Теперь, при работе из Delphi, свойство Formula для вариантных массивов полностью соответствует формулам на английском, а FormulaLocal - на русском языке. Однако новые заботы - необходимо проверять, что у нас Excel версии 9 или 10 (2000 или XP), а не 11 (2003) или всегда записывать в FormulaLocal :o). Но вот что самое удивительное - непосредственно из VBA работают только английские формулы!
Ответить