Ломаю голову, не понимаю как можно автоматизировать процесс создания прайса товаров, состоящих из разных комплектующих, в связи с этим есть вопрос. Например, рассмотрим ювелирку. Есть разные камни и разные типы оправ. Они приходят от разных поставщиков: от одних камни, от других оправы. Информация для прайса есть готовая в таблицах, о камнях - в своей таблице, об оправах - в своей. Предположим, что любой камень можно вставить почти в любую оправу, если он подходит ей по её весу (нужно выполнить проверку этого условия). Задача сгенерировать из двух таблиц третью, где бы автоматически создавались записи по порядку под каждый камень со всеми разновидностями подходящих оправ с подтягиванием в столбцы нужных в описании колец свойств камня и оправы, созданием названия колец и расчетом их итоговой цены. Свой файл примера того, что хочется получить, во вложении. Заранее благодарен за конструктивный ответ или отсылку к чему-то подобному - сам не нашел на форуме.
Добрый день, уважаемые!
Ломаю голову, не понимаю как можно автоматизировать процесс создания прайса товаров, состоящих из разных комплектующих, в связи с этим есть вопрос. Например, рассмотрим ювелирку. Есть разные камни и разные типы оправ. Они приходят от разных поставщиков: от одних камни, от других оправы. Информация для прайса есть готовая в таблицах, о камнях - в своей таблице, об оправах - в своей. Предположим, что любой камень можно вставить почти в любую оправу, если он подходит ей по её весу (нужно выполнить проверку этого условия). Задача сгенерировать из двух таблиц третью, где бы автоматически создавались записи по порядку под каждый камень со всеми разновидностями подходящих оправ с подтягиванием в столбцы нужных в описании колец свойств камня и оправы, созданием названия колец и расчетом их итоговой цены. Свой файл примера того, что хочется получить, во вложении. Заранее благодарен за конструктивный ответ или отсылку к чему-то подобному - сам не нашел на форуме.luckyfer
конструктивный ответ подразумевает соответствующий уровень детализации по задаче - объемы, ограничения по версии, возможность модификации на лету и т.д.
за неимением вышеуказанного - PQ[vba]
Код
let tbl = Table.AddColumn(камни,"tmp",(x)=>оправы), exp = Table.ExpandTableColumn(tbl, "tmp", {"Оправа", "Вес", "Цена"}, {"Оправа", "tmp.Вес", "tmp.Цена"}), weight = Table.CombineColumns(exp,{"Вес","tmp.Вес"},List.Sum,"Вес"), price = Table.CombineColumns(weight,{"Цена","tmp.Цена"},List.Sum,"Цена"), master = Table.AddColumn(price,"Работа мастера",(x)=>x[Цена]*0.2), total = Table.AddColumn(master,"Итого цена изделия",(x)=>x[Цена]*1.2), name = Table.AddColumn(total,"Название изделия",(x)=>"Кольцо "&x[Камень]&" в оправе "&x[Оправа]), to = Table.ReorderColumns(name,{"Название изделия", "Камень", "Оправа", "Вес", "Цена", "Работа мастера", "Итого цена изделия"}) in to
конструктивный ответ подразумевает соответствующий уровень детализации по задаче - объемы, ограничения по версии, возможность модификации на лету и т.д.
за неимением вышеуказанного - PQ[vba]
Код
let tbl = Table.AddColumn(камни,"tmp",(x)=>оправы), exp = Table.ExpandTableColumn(tbl, "tmp", {"Оправа", "Вес", "Цена"}, {"Оправа", "tmp.Вес", "tmp.Цена"}), weight = Table.CombineColumns(exp,{"Вес","tmp.Вес"},List.Sum,"Вес"), price = Table.CombineColumns(weight,{"Цена","tmp.Цена"},List.Sum,"Цена"), master = Table.AddColumn(price,"Работа мастера",(x)=>x[Цена]*0.2), total = Table.AddColumn(master,"Итого цена изделия",(x)=>x[Цена]*1.2), name = Table.AddColumn(total,"Название изделия",(x)=>"Кольцо "&x[Камень]&" в оправе "&x[Оправа]), to = Table.ReorderColumns(name,{"Название изделия", "Камень", "Оправа", "Вес", "Цена", "Работа мастера", "Итого цена изделия"}) in to
конструктивный ответ подразумевает соответствующий уровень детализации по задаче - объемы, ограничения по версии, возможность модификации на лету и т.д.
Объемы... ну камней может быть штук 15, оправ несколько сотен. По версии - Excel 2010. Модификация на лету - возможно держать еще один лист с регулируемыми переменными, как то например процент мастеру...
конструктивный ответ подразумевает соответствующий уровень детализации по задаче - объемы, ограничения по версии, возможность модификации на лету и т.д.
Объемы... ну камней может быть штук 15, оправ несколько сотен. По версии - Excel 2010. Модификация на лету - возможно держать еще один лист с регулируемыми переменными, как то например процент мастеру...luckyfer
Ну то есть обязательны PQ, какие-то внешние данные... просто встроенными в эксель формулами никак нельзя? У меня как оказалось не 2010, а 2007 версия офиса, там еще нет PQ...
Я свой лист "прайс на кольца" дал для примера, а получается, что ваши формулы как-то на мой ручной пример ссылаются, и при попытке добавить ещё строки в листы "камни" и "оправа" итоговая таблица ползет "ссылками" при протягивании вниз ваших формул.
Я не настолько крут в экселе, как вы, к моему сожалению...
А можно попросить вас сделать или новый лист "прайс" с работающими формулами без ссылок на мой лист "прайс на кольца" с примерами, или в листе "прайс на кольца" удалить вручную заполненную часть моего примера и сделать всё вашими формулами?
Простите уж чайника...
Ну то есть обязательны PQ, какие-то внешние данные... просто встроенными в эксель формулами никак нельзя? У меня как оказалось не 2010, а 2007 версия офиса, там еще нет PQ...
Я свой лист "прайс на кольца" дал для примера, а получается, что ваши формулы как-то на мой ручной пример ссылаются, и при попытке добавить ещё строки в листы "камни" и "оправа" итоговая таблица ползет "ссылками" при протягивании вниз ваших формул.
Я не настолько крут в экселе, как вы, к моему сожалению...
А можно попросить вас сделать или новый лист "прайс" с работающими формулами без ссылок на мой лист "прайс на кольца" с примерами, или в листе "прайс на кольца" удалить вручную заполненную часть моего примера и сделать всё вашими формулами?
ваши формулы как-то на мой ручной пример ссылаются
угу, и берут только номер строки конкретной ячейки. Почитайте справку по СТРОКА() - потому что при добавлении/удалении строк формулы будут уезжатьпрохожий2019