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

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

22 Август 2018, 08:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 »   Вниз
  Печать  
Автор Тема: Помогите пожалуйста  (Прочитано 737 раз)
0 Пользователей и 1 Гость смотрят эту тему.
winword
Новичок
*
Offline Offline

Сообщений: 15


« Стартовое сообщение: 24 Июль 2018, 09:38 »

Здравствуйте. Нужна помощь в написании скрипта либо формулы. Надо что бы скрипт делал сравнение по первому столбцу с указанием числа. Потом делал сравнение данных если данные сходятся то делал просчет цены с указанием процентов. А если одинаковых значений нет то делал 100% наценку по сумме.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 24 Июль 2018, 11:22 »

Добро пожаловать на форум!
Давай для начала переформулируем задачу. Вот эта часть
если данные сходятся то делал просчет цены с указанием процентов. А если одинаковых значений нет то делал 100% наценку по сумме.
может быть сформулирована так
Цитата:
если данные сходятся то ... иначе ...
Такая фраза в Calc записывается просто
Код:
=IF(<что-то проверяем>;<делай "то">;<делай "иначе">)
=ЕСЛИ(<что-то проверяем>;<делай "то">;<делай "иначе">)
Если сможешь показать (приложить к следующему сообщению файл) или просто подробно объяснить, что именно и в каком виде находится в первом столбце, где искать нужные проценты и с каким числом собираешься сравнивать, то очень быстро допишем остальную часть формулы (скрипт для такой несложной задачи не нужен)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #2: 24 Июль 2018, 11:58 »

Примерно так. Префик 79 сходится 79 то наценка к конечной цене 25%. прилаживаю файл с данными что бы примерно понять что и как

* Наценка2.ods (78.79 Кб - загружено 4 раз.)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 24 Июль 2018, 12:32 »

Ну, я же говорил, что это не очень сложно.
Жаль, что ты не сказал в каком из Calc'ов будешь эту таблицу пересчитывать, на всякий случай дам решение и для OpenOffice Calc:
Код:
=IF(ISERROR(VLOOKUP(D2;$наценка.$C$2:$D$136;2;0));100;VLOOKUP(D2;$наценка.$C$2:$D$136;2;0))
и для LibreOffice Calc (видишь? здесь то же самое записывается намного короче):
Код:
=IFERROR(VLOOKUP(D2;$наценка.$C$2:$D$136;2;0);100)
=ЕСЛИОШИБКА(ВПР(D2;$наценка.$C$2:$D$136;2;0);100)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #4: 24 Июль 2018, 12:37 »

Спасибо. По данному макросу как я понял он делать будет автоматический пересчет префиксов и сразу по ним будет сравнение и наценка? или данный код надо делать отдельно для каждого префикса?
Записан
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #5: 24 Июль 2018, 12:39 »

И подскажите как именно можно этот макрос интегрировать. а то я с офисом не очень в ладах)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #6: 24 Июль 2018, 13:48 »

Давай начнём с того, что это не макрос, а формула. Просто запомним на будущее, чтобы не вносить путаницу в обсуждение: формула - это выражение, которое записывается в одну ячейку электронной таблицы, а макрос - это небольшая (обычно!) программа, которая создаётся в специальном редакторе и предназначена для выполнения каких-то действий с данными (или форматированием, или ещё чем-нибудь).

Ты так и не сказал, каким из офисов пользуешься - Apache OpenOffice (сокращенно его называют АОО) или LibreOffice.

Теперь по твоим вопросам.
Для начала, первым делом на листе DA000424 нужно нажать сочетание клавиш Ctrl+End - перепрыгнуть на самую последнюю ячейку в таблице - и удалить там никому не нужную формулу суммирования =SUM(J2:J1048575): всё равно она не показывает какое-то разумное число.
Теперь формулу, которую я привёл, нужно вписать в ячейку K2 на листе DA000424 вместо тех 25 процентов, которые там сейчас написаны, и нажать Enter. В ячейке по-прежнему будет число 25, но теперь не просто вписанное, а пересчитанное по значениям с листа "наценка".
Осталось только размножить (растянуть) эту формулу по всей колонке K. Это можно сделать несколькими способами. Например, можно выделить ячейку K2, ухватить мышкой нижний правый угол чёрной рамки (там такая жирненькая точка есть, на которой мышиный курсор превращается в крестик) и тащить вниз, пока не закончится таблица. А можно стать на ячейку K2, нажать Ctrl+Shift+End (выделятся все ячейки от K2 до K884) и нажать Ctrl+D (формула заполнит все выделенные ячейки).

По поводу пересчета префиксов. Нет, формула не пересчитывает префиксы - она только берет из колонки D готовый префикс и по нему находит на листе "наценка" соответствующий процент.
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #7: 24 Июль 2018, 14:07 »

Спасибо. Использую LibreOffice. По данным росписываниям можно полностью интегрировать данную формулу?.
Записан
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #8: 24 Июль 2018, 14:12 »

И еще вопрос. Будет ли данная формула применять наценку к указанной сумме?
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #9: 24 Июль 2018, 14:18 »

1. Да, если проделать указанные действия, то процент наценки будет просчитан для каждой строки таблицы ("полностью интегрирована")
2. Нет, формула только вычисляет процент наценки для указанного в текущей строке префикса. А применяет наценку к сумме формула в колонке I, "цена с наценкой"
Код:
=G2+G2*K2/100
Формула правильная, хотя обычно её записывают чуть иначе (выносят исходную цену за скобки)
Код:
=G2*(1+K2/100)
Но и в такой записи, как сейчас, формула будет давать правильный результат
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #10: 24 Июль 2018, 15:20 »

Да нужно что бы наценка указывалась к колонке цена с наценкой.
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #11: 24 Июль 2018, 15:34 »

Гм... Переведи (с) "Москва слезам не верит"
В смысле, попробуй сформулировать это ещё раз, другими словами...
Есть у тебя какой-то числовой prefix (который, почему-то, расшифрован в колонке prefix_name совсем не так, как на листе "наценка" в колонке "Город"). И есть таблица перевода значения префикса в процент наценки.
Формула, которую я тебе дал, в колонке К ("Наценка") вычисляет процент для всех известных префиксов или ставит 100% для неизвестных.
Формула в колонке I, "цена с наценкой" совершенно правильно пересчитывает цену из колонки price.
Формула в колонке J, "сумма с наценкой" умножает цену на количество и тоже делает всё правильно.

И что означала твоя последняя фраза?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #12: 24 Июль 2018, 16:05 »

Понял ошибку своего вопроса. Чуть не так сформулировал его. Имелось в виду что бы формула считывала префиксы. указывала наценку и делала сразу пересчет на конечную сумму с наценкой в процентном соотношении. то есть формула считывает ячейку с префиксом если префикс есть то делает наценку на указанную сумму. если префикса нет то на 100%
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

Пол: Мужской
Расположение: Киев
Сообщений: 2 530


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #13: 24 Июль 2018, 16:17 »

О, так понятнее!
Другими словами, ты хочешь избавиться от колонки K.
Это тоже не сложно. В ячейке I2 должна быть формула
Код:
=G2*(1+IFERROR(VLOOKUP(D2;$наценка.$C$2:$D$136;2;0)/100;1))
Кстати, у тебя в Calc'е имена функций английские? Если не английские, то
Код:
=G2*(1+ЕСЛИОШИБКА(ВПР(D2;$наценка.$C$2:$D$136;2;0)/100;1))

В колонке J ничего менять не надо, колонку K можно удалить полностью (меню Лист-Удалить столбцы)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
winword
Новичок
*
Offline Offline

Сообщений: 15


« Ответ #14: 24 Июль 2018, 16:39 »

Спасибо огромное. Суть формулы понял. теперь надо будет интегрировать ее на один документик и будет счастье.
Записан
Страниц: 1 2 »   Вверх
  Печать  
 
Перейти в:  

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