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

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

26 Март 2019, 01:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 3 »   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Сопоставление выпадающих списков с базой данных  (Прочитано 7063 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Стартовое сообщение: 21 Июль 2016, 16:32 »

Здравствуйте!
Составляю калькулятор веса товаров.
Задача: у товара есть комплектующие материалы. Нужно вводя наименование и размеры товара автоматически вычислять его вес.
Алгоритм:
1. На листе 1 есть перечень материалов. Напротив каждого материала есть вес его кубического сантиметра.
2. На листе 2 есть столбец с выпадающим списком продукции. Выбирается название продукции и в текущей строчке с помощью тех же выпадающих списков выбираются материалы, из которых состоит конкретная продукция, у каждого материала выбирается его толщина в продукции, а в следующем столбце должен показываться вес квадратного сантиметра этой продукции, умноженный на количество сантиметров по высоте. В конце строки вес всех комплектующих материалов суммируется.
Второй пункт я пропишу один раз и больше к нему возвращаться не буду (без необходимости). Буду работать только с третьим листом.
3. На листе 3 можно выбрать продукцию, ее размеры по ширине и высоте и в четвертой клеточке появляется суммарный вес выбранной продукции.

Что сделано:
1. Выпадающий список получилось сделать.
2. Попробовал функцию DGET, но не смог "договориться" с диапазонами данных. Проблема в том, что нужны операции не в рамках одного листа (в интернете и в справочнике LOс такие примеры есть), а в рамках разных листов.

Проблема заключается в том, что выпадающих списков несколько и связать их нужно в сложную цепочку.
Файл с таблицами загружаю.

Прошу помочь разобраться в командах, которые нужно использовать.

* Калькулятор веса изделия.xlsx (10.38 Кб - загружено 10 раз.)
« Последнее редактирование: 8 Август 2016, 12:40 от Denis.researcher » Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 2 620



« Ответ #1: 21 Июль 2016, 17:20 »

работать будет в Эксель или таки в Либре?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #2: 21 Июль 2016, 17:28 »

Работать будет в Либре в основном, в Экселе - во вторую очередь.
Приоритет - Либра.
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 21 Июль 2016, 19:09 »

На соломе как-то было проще спать Смеющийся

Я сделал только для двух слоёв, для остальных нужно просто скопировать формулы на втором листе. Проверяйте:

* Калькулятор веса изделия1.xlsx (11.5 Кб - загружено 16 раз.)
Записан

Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #4: 22 Июль 2016, 09:57 »

rami, вы - гуру!
Задача решена.
Огромное вам спасибо!

Форум поддержал Улыбка
Записан
Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #5: 25 Июль 2016, 12:10 »

rami, вылез еще один вопрос Улыбка

Из всего перечня материалов есть два, которые не считаются стандартным способом.
Например, размеры изделия составляют 100х200 см.
Материал_1 представляет собой наружный контур. Ширина этого материала по контуру изделия всегда составляет 10 см. с каждой стороны изделия, минус все остальное, что внутри. Т.е., этот контур шириной 10 см. - это рамка слоя.
А Материал_2 представляет собой внутреннее наполнение слоя. Его размеры равны размерам изделия минус 10 см. с каждой стороны.

Я не совсем представляю, на каком этапе лучше это вычисление включать. Теоретически, на этапе "взвешивания" всего изделия в целом, вычитая внутреннее наполнение или внешнюю "пустоту". Но тогда нужно убрать вес этого материала из суммы на второй странице и сделать для него отдельную ячейку справа от ячейки с суммой строки. Возможно, для каждого из этих двух материалов нужно сделать свою клеточку, потому что вычисления там принципиально разные. И уже затем включать эти материалы в финальную формулу с размером.

Сложность в том, что при суммировании чисел из строки нужно, чтобы суммировались только те числа, которые соответствуют всем материалам, кроме двух отдельных. А отдельные также вычленяются и суммируются отдельно  Шокирован

Я сначала думал, что трудно общий калькулятор сделать, но тут прям мозг разрывается Улыбка

rami, прошу помочь еще раз )



* Отдельные детали для расчета.jpg (214.72 Кб, 1224x1632 - просмотрено 17 раз.)
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #6: 25 Июль 2016, 13:28 »

Из всего перечня материалов есть два, которые не считаются стандартным способом.
Например, размеры изделия составляют 100х200 см.
Материал_1 представляет собой наружный контур. Ширина этого материала по контуру изделия всегда составляет 10 см. с каждой стороны изделия, минус все остальное, что внутри. Т.е., этот контур шириной 10 см. - это рамка слоя.
Если нужно получить вес "контура", добавьте в таблицу на втором листе два элемента: сплошной слой 100х200 см. из "вещества" и сплошной слой 80х180 см. из "антивещества" (с отрицательной плотностью или весом), в результате получите вес "контура"
А Материал_2 представляет собой внутреннее наполнение слоя. Его размеры равны размерам изделия минус 10 см. с каждой стороны.
Тут тоже не должно быть проблем.

Если у вас не получится сделать то, что я предлагаю выше, выложите документ с максимумом того, что получилось и описанием того, что нужно сделать.
Записан

Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #7: 25 Июль 2016, 16:13 »

Если нужно получить вес "контура", добавьте в таблицу на втором листе два элемента: сплошной слой 100х200 см. из "вещества" и сплошной слой 80х180 см. из "антивещества" (с отрицательной плотностью или весом), в результате получите вес "контура"
Попытался представить, как это будет, и не смог.
1. В таблице на второй странице высчитывается вес одного кубического сантиметра с учетом высоты каждого слоя.
2. Размер изделия (площадь) на третьей странице может варьироваться (100х200 был использован в качестве примера).
3. Толщина рамки фиксирована для любых размеров - каждая сторона по 10 см. Соответственно, внутренность по каждой стороне всегда меньше на 10 см.
--
Выкладываю формулу, как она, на мой взгляд, должна быть логически.
Там не хватает операторов для трех клеточек избирательных сумм в строчке изделия (страница 2).

* Калькулятор веса изделия2.xlsx (28.18 Кб - загружено 5 раз.)
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #8: 25 Июль 2016, 19:09 »

А такой вариант подойдёт?

* Калькулятор веса изделия3.xlsx (8.37 Кб - загружено 6 раз.)
Записан

Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #9: 26 Июль 2016, 12:07 »

Моделей продукции около 120 шт.  Смеющийся
Каждую модель можно оперативно просчитать по весу, если просто выбрать ее из уже заполненных по составу и внести размеры.
Ваш вариант очень удобен для оперативного просчета веса изделия и он решает задачу вычислений.
Но при необходимости быстро получать информацию о весе будет тяжело  Обеспокоенный
Поэтому, одна из страниц выделена под модели изделий - чтобы их один раз заполнить и больше к ним не возвращаться )

Если вы подскажете мне оператора, который суммирует по критерию, я постараюсь его встроить в формулу.
В конечном итоге, мне нужно будет внести эту формулу в полный калькулятор, чтобы посчитать все сразу, за исключением размеров  Да уж...
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #10: 26 Июль 2016, 12:35 »

Ваш вариант очень удобен для оперативного просчета веса изделия и он решает задачу вычислений.
Значит у вас будет два варианта Смеющийся
Но при необходимости быстро получать информацию о весе будет тяжело 
Поэтому, одна из страниц выделена под модели изделий - чтобы их один раз заполнить и больше к ним не возвращаться )
Тогда создать таблицу "Состав матрасов" без промежуточных расчётов, только материал и его толщина.
Если вы подскажете мне оператора, который суммирует по критерию, я постараюсь его встроить в формулу.
Формула SUMIF(), возможно и другие.
Записан

rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #11: 26 Июль 2016, 14:28 »

3. Толщина рамки фиксирована для любых размеров - каждая сторона по 10 см. Соответственно, внутренность по каждой стороне всегда меньше на 10 см.
А какие материалы идут на рамку и внутренность? Сколько таких "спецслоёв" в матрасе?

На листе Состав матрасов сделал компактную таблицу для обычных слоёв (думаю, что это удобней), после вашего ответа допишу данные для "спецслоёв" справа от таблицы.

* Калькулятор веса изделия4.xlsx (14.64 Кб - загружено 8 раз.)
Записан

Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #12: 27 Июль 2016, 11:00 »

В разных матрасах есть разное количество слоев и разное сочетание этих слоев.
Если брать "сложные" слои, то есть 4 "внутренних" слоя (пружины четырех разных типов) и 1 "наружный" слой - поролоновый короб, создающий жесткость по контуру (применяется для всех пружин).
Толщина (по ширине) этого короба составляет 10 см (всегда). Соответственно, площадь пружинного блока меньше площади матраса в целом на 10 см. с каждой из четырех сторон. Т.е., получается, что при использовании пружин нужно из ширины этого слоя вычитать 20 см. по ширине (по 10 с каждой стороны) и 20 см. по длине (также по 10 с каждой стороны). Картинку состава матраса прилагаю.
Все остальные материалы занимают полную площадь изделия и рассчитываются классически.
--
Когда я говорил об операторе выборочной суммы, сложность была в том, чтобы не просто суммировать ячейки, которые соответствуют столбцам с названием (вы это сделали в каждом столбце слоя), а суммировать их в массиве данных, где есть несколько пар таких столбцов.
И вот здесь я начал цеплять водоросли... (цитата из анекдота) Улыбка


* Состав матраса.jpg (62.97 Кб, 1200x720 - просмотрено 8 раз.)
Записан
Denis.researcher
Участник
**
Offline Offline

Сообщений: 22



« Ответ #13: 27 Июль 2016, 11:24 »

На ваши вопросы я не совсем полно ответил:

1. В матрасе может быть только один слой пружин (в тех моделях, где пружины используются). И это может быть один из четырех возможных типов пружинных блоков. Каждый тип блока имеет свой вес.
2. Если в матрасе есть пружины, значит, есть и поролоновый короб, который всегда одинаков по типу / весу на куб.см.
---
Типов материалов в матрасе около 20. Делать 20 столбцов будет не очень удобно для занесения информации. А слоев обычно меньше и их можно суммировать (например, в матрасе два одинаковых слоя и при внесении состава их можно объединить). Как правило, количество слоев до 10 (не более).
« Последнее редактирование: 27 Июль 2016, 11:26 от Denis.researcher » Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #14: 27 Июль 2016, 12:33 »

Типов материалов в матрасе около 20. Делать 20 столбцов будет не очень удобно для занесения информации.
Это всех материалов? Или только объёмных имеющих толщину (не считая ткани)?
У каждого пружинного блока одна своя высота? Если да, то это упростит расчёты.

Моя таблица на втором листе в последнем документе в три раза компактней чем ваша (у меня один столбец на материал, а у вас три), но вам видней как должно быть.
Записан

Страниц: 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

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