Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

26 Июль 2017, 13:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Преобразование формулы Excel в LibreOffice Calc  (Прочитано 702 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Aspid
Новичок
*
Offline Offline

Сообщений: 7


« Стартовое сообщение: 3 Июнь 2017, 21:38 »

Есть формула в Excel

=ИНДЕКС (ДВССЫЛ ("'[Другой файл-2.xlsx]"&$D$2&"'!$A:$C");СЧЁТЗ (ДВССЫЛ ("'[Другой файл-2.xlsx]"&$D$2&"'!$A:$A"))+1;СТОЛБЕЦ ()+1)
Необходимо адаптировать её под LibreOffice Calc

Пробую так
=INDEX(INDIRECT("''file:///C:/Users/Nike/Desktop/Другой файл-2.ods'"&$D$2&"'!$A:$C");COUNTA(INDIRECT("''file:///C:/Users/Nike/Desktop/Другой файл-2.ods'"&$D$2&"'!$A:$A"))+1;COLUMN()+1) выдает ошибку 504. Вероятно где-то неверные или лишние символы присутствуют.

Подскажите, где подправить, чтоб заработала.
P.s. Знаю,что LibreOffice Calc вроде как может также открывать файлы Excel, но мне необходима именно формула,т.к. её придется вбивать вручную на другом компьютере,на который нет никакой возможности перекинуть готовые файлы.

* Основной файл с расчетами-2.ods (11.42 Кб - загружено 5 раз.)
* Другой файл-2.ods (12.33 Кб - загружено 4 раз.)
Записан
Helen
Администратор
*
Offline Offline

Пол: Женский
Расположение: Екатеринбург
Сообщений: 2 482


WWW
« Ответ #1: 4 Июнь 2017, 08:21 »

Если Вы используете что-то из последних версий LibreOffice, я думаю, что надо начать с того, что посмотреть на разделители между именем файла, именем листа и адресом ячейки. Распознавание текстовой ссылки, которую Вы даёте формуле INDIRECT() зависит от настроек конкретного офиса (Сервис -> Параметры -> LO Calc -> Формула, группа Подробные настройки вычислений -> Подробности), посмотрите значение параметра "Ссылочный синтаксис для строковых ссылок". Если там стоит Excel A1, значит в тестовой ссылке, которую Вы формируете для INDIRECT(), должны быть следующие разделители:
Код:
[Файл]Лист!Ячейка, т.е. [file:///home/helen/Загрузки/Другой файл-2.ods]Июнь!A1
если значение параметра Calc A1, то синтаксис текстовой ссылки такой:
Код:
'Файл'#Лист.Ячейка, т.е. 'file:///home/helen/Загрузки/Другой файл-2.ods'#Июнь.A1
Записан
Aspid
Новичок
*
Offline Offline

Сообщений: 7


« Ответ #2: 4 Июнь 2017, 10:16 »

Да вроде всё верно. Но всё равно ошибка. Может где-то знаки лишние или наоборот не хватает?

И необходимо,чтобы Calc было,потому что на работе у меня программа старой версии.


* Screenshot_1.png (144.57 Кб, 1422x768 - просмотрено 13 раз.)
« Последнее редактирование: 4 Июнь 2017, 10:40 от Aspid » Записан
Helen
Администратор
*
Offline Offline

Пол: Женский
Расположение: Екатеринбург
Сообщений: 2 482


WWW
« Ответ #3: 4 Июнь 2017, 10:40 »

Думаю, что в любом случае решётку поставили не там. $D$2 - это название листа. В качестве разделителя между листом и ячейкой должны быть либо точка, либо восклицательный знак. А решётку надо ставить раньше.

Aspid, я приложила тестовый файл к сообщению, посмотрите, в какой из зелёных ячеек возвращается единица в Вашем офисе: А4 или А8?

* indirectTest.ods (8.83 Кб - загружено 6 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 123


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #4: 4 Июнь 2017, 11:21 »

Попробуйте так:
Код:
=INDEX(INDIRECT("['file:///C:/Users/Nike/Desktop/Другой файл-2.ods']" & $D$2 & "!$A:$C");COUNTA(INDIRECT("['file:///C:/Users/Nike/Desktop/Другой файл-2.ods']" & $D$2 & "!$A:$A"))+1;COLUMN()+1)
Записан

mikekaganski
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 508


« Ответ #5: 4 Июнь 2017, 11:47 »

Проще всего было бы взять файл Excel с работающей формулой и открыть в Calc.

В любом случае: особенно вначале такие формулы нужно делать постепенно: сначала делаете ячейку с формулой для адреса (типа ="['file:///C:/Users/Nike/Desktop/Другой файл-2.ods']" & $D$2 & "!$A:$C"), затем вторую ячейку, ссылающуюся на первую (=INDIRECT(A1)), добиваетесь, что во второй нормальный результат; потом таким же порядком остальные части. А иначе трудно определиться с ошибкой, и даже мастер формул (который показывает результат каждого этапа вычислений) не всегда помогает.
Записан

С уважением,
Михаил Каганский
Aspid
Новичок
*
Offline Offline

Сообщений: 7


« Ответ #6: 4 Июнь 2017, 19:10 »

Думаю, что в любом случае решётку поставили не там. $D$2 - это название листа. В качестве разделителя между листом и ячейкой должны быть либо точка, либо восклицательный знак. А решётку надо ставить раньше.

Aspid, я приложила тестовый файл к сообщению, посмотрите, в какой из зелёных ячеек возвращается единица в Вашем офисе: А4 или А8?

А8
Записан
Aspid
Новичок
*
Offline Offline

Сообщений: 7


« Ответ #7: 4 Июнь 2017, 19:35 »

rami,спасибо, в домашних условиях работает. Попробую теперь на работе испытать, на работе версия программы совсем старая.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 123


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #8: 4 Июнь 2017, 19:53 »

Попробую теперь на работе испытать, на работе версия программы совсем старая.
В Apache OpenOffice работать не будет, там значительно отстали от LibreOffice. Но в любом случае сообщите где работает, а где нет. В LibreOffice 4.4.7 работает.
Записан

economist
Ветеран
*****
Offline Offline

Сообщений: 602


« Ответ #9: 5 Июнь 2017, 08:12 »

А в LibreOffice Calc 5.2 и новее - еще и формулы кириллические. Включается:

Сервис-Параметры-LO Calc-Формулы-Использовать английские имена функций (снять флаг).

У моих пользователей (250 чел) полный восторг по поводу кириллизации функций, так как по результатам аттестации - 92% работают с Excel дома или на работе.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
kompilainenn
Ветеран
*****
Offline Offline

Сообщений: 1 997



« Ответ #10: 5 Июнь 2017, 09:48 »

У моих пользователей (250 чел) полный восторг по поводу кириллизации функций, так как по результатам аттестации - 92% работают с Excel дома или на работе.
И с чем связан восторг? Что можно и дальше продолжать работать в Экселе?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
economist
Ветеран
*****
Offline Offline

Сообщений: 602


« Ответ #11: 5 Июнь 2017, 12:16 »

kompilainenn - восторг их описывается одной фразой: "Calc - это новый Excel".

И потом, в каждом отделе у меня есть хотя бы один Excel (для старых макросов, COM-автоматизации итп), с которым приходится работать почти всем работникам (хотя в основном люди работают в Calc). Одинаковые функции - делают работу проще. Вот пункты меню Правка и Редактирование - одинаковы, но спросите у впервые открывшего программу: для него это разные сущности, причем навсегда. Поскольку по-разному называются. Не вижу причин называть одинаковые функции разными словами. В конечном счете "локализация" должна стать полной.

Заставить людей запомнить синтаксис функций VLOOKUP, MATCH, INDIRECT, SUMPRODUCT - на мой объективный взгляд, в 2-3 сложнее и дольше, чем к их русским аналогам. Скорость набора функций на латинице - в 8 раз ниже. Необходимость переключаться при вводе формулы 4-6 раз с языка на язык - не может быть оправдана ни чем. С русскими функциями - в этом нужды нет, т.к. ввод адресов ячеек - в 90% происходит мышью/курсорными клавишами. Цифры взяты из протоколов тестирования и аттестаций.
« Последнее редактирование: 5 Июнь 2017, 12:19 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!