Страницы: 1 2 След.
RSS
Варианты создания справочника
 
Всем привет. Создаю справочники по гост. Пример во вложении. Иногда бывает очень много строк , например в одном файле у меня уже 400тысяч строк и это только где-то 1/4 часть по одной позиции, так сказать декартово перемножение), при этом файл много весит, приходится хранить информацию в разных файлах, поделив, что весьма неудобно.  MS Access не предлагать, сейчас не до него. Кто разберется с инфой в файле и поймет суть его содержания, просьба прокомментировать как бы вы сделали по-другому?
Изменено: АркадийР - 18.09.2016 01:17:59
 
Здравствуйте, АркадийР,
Я бы (если бы делал это для собственного пользования) сделал бы так:
1.Вместо фильтров - связанные выпадающие списки для выбора нужных параметров
2.На основании выбранных параметров - поиск нужных показателей (ЕСЛИ, ВПР и т.п.)
Но, если строк сильно много, возможно будет тормозить - не знаю, сам с такими большими объемами не сталкивался
Поэтому скорее всего правильнее написать макрос для осуществления п.1 и п.2
 
_Igor_61,спасибо, не очень пока разбираюсь во всяких списках, но идея мне нравится, только не понятно как это сделать
Еще идеи есть у кого-нибудь?
 
Может быть, Ваши справочники уже существуют?
Создавать справочники в Excel - весьма странный подход.
В Вашей организации отсутствует корпоративное ПО?
 
Мотя,вы просто не понимаете что это и для чего это.
 
Цитата
АркадийР написал: вы просто не понимаете что это и для чего это
Куда уж мне до Ваших высот!  :D
 
Мотя,это не справочник, а скорее БД, для последующей выгрузки необходимых данных. Подобного софта не существует, информация индивидуальна и узко специализирована. Можно лишь упростить алгоритм работы, что я и пытаюсь сделать. Эксель наиболее простой вариант сейчас для этого, т.к. разбираться в программировании слишком долго, много времени займет, да и непонятно где и как искать инфу.
 
Наверняка помогут надстройки Excel: PowerQuery и PowerPivot, НО судя по отсутствию времени, то будет тяжело. Если свободно работаете со СводнымиТаблицами - суть поймёте быстро.
В YouTube 'эти надстройки продвигают: Станислав Салостей, Кремень Юрий Алексеевич
 
Самое главное в такой базе - правильно расположить данные по столбцам и по строкам.
Что сразу бросилось в глаза - у Вас два столбца (G и X) с одинаковыми данными. Зачем?  
Отсюда можно сделать вывод, что и с другими данными в Вашей таблице
возможно такое же (но это сугубо мое мнение, т.к. в подробности не вникал).
А если данные расположены не совсем правильно, обработать их будет довольно тяжело.
Наверное (если еще не поздно) имеет смысл подумать об изменении структуры таблицы
(даже наверное имеет смысл сделать несколько таблиц, а потом уже их связать между собой).
Главное - определить какие данные (результаты) в каком порядке и на основании чего нужно будет отбирать
для дальнейшей обработки или отчетов.
 
_Igor_61,тут как бы как раз 3 таблицы (в разных видах) на одном листе - G-N / X-Y / Z-AG/  - я их уже подумал разделить на три файла, но просто изначально удобно делать их в таком порядке -сперва создается массив G-N, затем быстро можно создать остальные два варианта
столбцы O-W я сделал чтобы в дальнейшем анализировать (сравнивать) значения с помощью формул типа ЕСЛИ(И(T2>I2;T2<=K2);"ОК")
 
Если не трудно, посмотрите файл ,тут не грузится, много весит
https://www.sendspace.com/file/rbwvtg
идея как он сделал мне нравится, и кажется можно сообразить что-то подобное под мою задачу, но как это сделано и как называется без понятия
 
За ночь неплохо продвинулся вперед, получилось разместить данные по горизонтали, и это уменьшает количество строк в 4-5 раз, плюс намного удобнее смотрится и воспринимается. Буду двигаться в такой форме вероятней всего. Пример во вложении. Если кто может и не трудно, покажите какие-нибудь варианты построения "умных" таблиц или списков и т.п., весьма интересно как это выглядит в другой форме.
 
Доброе утро!
Посмотрите, возможно, эти способы пригодятся
 
Для БД тем более таких обьемов лучше использовать sql сервер или msaccess все остальное это детские игры!
Вы продвигаетесь в тупик!
Изменено: skais675 - 19.09.2016 07:55:14
 
Увы, скорее всего skais675, прав  :(
При большом кол-ве строк и формул быстродействие падает.
Но в тоже время есть причины, по которым Вам удобнее именно Excel.
Не могли бы Вы более конкретно сформулировать задачу - какие результаты на основании каких действий
и на основании каких данных должны получаться и в каком виде они должны выводиться в итоговых отчетах.
Можно еще денек - другой поломать голову над этим (мне это интересно просто в качестве расширения
практических навыков  :)), и если все-таки ничего не выйдет, тогда уж придется идти другим путем, не в тупик а на свет.
К сожалению, у меня не получается посмотреть файл по ссылке в сообщении #11.
 
Как вариант если не хватает строк - данные для макроса можно сохранять в текстовых файлах
В задачу не вникал (как-то там всё сложно на первый взгляд :) ) - но похоже что можно создавать для каждого "головного " элемента свой текстовый файл, так макросу будет легче находить данные.
Дополнять/редактировать эти базы в текстах тоже можно макросом, если вручную будет сложно.
Но конечно создать такую систему - это не час работы...
 
Разрешите мне вставить свои 5 копеек...
Да, пожалуй, я тоже соглашусь, с тем, что для подобных объемов лучше использовать MSACCESS или что-то еще массивнее. Объем информации довольно большой для "переваривания" Excel. Как вариант может быть проще создать csv файл. Думаю, что по мере интеллектуализации (улучшения (доп справочники и т.д.)) данного справочника при одновременном сохранении дружественности к пользователю вы прийдете в тупик производительности. Я так же послежу за этой темой, может быть кто-то сможет предложить решение этой или подобных проблем, так как передо мной в обозримом будущем маячит что-то подобное и тоже в Excel. Так же от себя бы добавил: пересохраните вашу книгу-справочник в xlsb - будет меньше весить и грузиться быстрее.
 
Всем за спасибо за активное обсуждение.
Цитата
Не могли бы Вы более конкретно сформулировать задачу - какие результаты на основании каких действий
и на основании каких данных должны получаться и в каком виде они должны выводиться в итоговых отчетах.
Опишу задачи данной БД:
1. Создаются таблицы с необходимыми характеристиками материалов согласно нормативному документу. Каждая БД уникальна по своему содержанию и наполнению (например бетон,песок,щебень,асфальт, кабели, трубы, краски и т.п.), однако все БД имеют свое ограниченное количество значений, то есть каждая такая база конечна (может быть только 122 кабеля определенной группы или 50 вариантов различных песков) . Одинаково лишь то что есть как бы алгоритм создания - есть характеристики (классы, группы, типы и т.п.) которые присущи для всех юнитов товара, по которым и происходит выборка (фильтрация), и есть свои уникальные значения характеристик для каждой такой группы.
Пример №1: У нас есть два типа  - тип 1 с характеристикой прочности не более 5 и тип 2 с характеристикой прочности не более 10, мы создаем тип 3 (выбор тип 1 или тип 2) с характеристикой прочности не более 10 (даем крайнее максимальное значение т.к. у тип 2 не более 10).
Пример №2: У нас есть два типа  - тип 1 с характеристикой водонасыщения в диапазоне не менее 11 не более 25 и тип 2 не менее 15 не более 35, мы создаем тип 3 (выбор тип 1 или тип 2) с характеристикой в диапазоне не менее 11 не более 35 (мин. нижнее значение тип 1 и макс. верхнее значение тип 2).
Создав 20 уникальных юнитов с общей характеристикой тип 1, я могу скопировать их и вставить, затем поменяв быстро какое -то значение на тип 2 , получается уже 40 юинтов, затем 80 и т.д. Таким образом понимая что откуда идет можно быстро создать все единицы за пару дней.

2. После создания БД по мере необходимости происходит выборка необходимых единиц (юнитов) товаров, выборка происходит по фильтрам, затем выбранные данные экспортируются в Word , в ворде должен быть типовой шаблон формы таблицы и шрифта.
Цитата
Для БД тем более таких обьемов лучше использовать sql сервер или msaccess все остальное это детские игры!
Возможно (и скорее всего) вы правы, когда я только начинал работу с этой задачей, я стал искать информацию по sql и access, но т.к. в программировании ничего не понимаю и все не так просто, а время идет, решил что пока подойдет и эксель в данном случае
Цитата
Объем информации довольно большой для "переваривания" Excel. Как вариант может быть проще создать csv файл.
Дело в том что могут быть некоторые символы (например степени или физические величины, всякие альфа,бета,гамма и т.п.), которые нужно сохранить в изначальном виде, а текстовые файлы не принимают такой формат, хотя это думаю можно решить,
Я раньше не использовать форму таблицы в эксель (вставить таблицу через меню), а делал так - заполнял ячейки, нажимал фильтры, сейчас понял что намного удобнее работать с встроенныеми инструментами таблиц, и файл намного меньше весит и быстрее обрабатывается!
Цитата
Дополнять/редактировать эти базы в текстах тоже можно макросом, если вручную будет сложно.
Пока что вручную легче, а макросом сложнее)) опыт работы с макросами очень немного
Изменено: АркадийР - 19.09.2016 13:44:14
 
АркадийР, посмотрите, может такой способ заполнения таблиц Вам подойдет?
 
e_artem,большое спасибо за то что подсказали про формат xlsb ! Файл весит в 10!! раз меньше
_Igor_61, у меня возникла мега идея с этим выпадающими списками, надо разобраться в них) только не для заполнения а для выгрузки необходимой инфы
Идея такая:
В одном файле (файлах) лежит необходимая инфа в виде таблиц
В другом файле я создаю ячейки с выпадающими списками в таком виде:
Наименование - Свойство1 - Свойство2 - Свойство3 и тп - то есть нужно задать этим наименованиям и свойствам диапазоны ячеек в исходном файле с таблицами
и рядом правее таблица с характеристиками (диапазон задан к исходному файлу)
Соответственно выбираю по наименованию какой-то товар, в следующей ячейке выбираю свойства 1,2,3 и тп
и выбрав нужную единицу у меня рядом возникает нужная таблица со всеми характеристиками (транспонированная)
Кликаю опять по наименованию, опять выбираю нужные свойства и опять к первой таблице следом возникает вторая (ниже) и т.д.
Очень интересная задумка
Изменено: АркадийР - 20.09.2016 14:04:53
 
Идея - это здорово! Что-то подсказать по спискам?
 
Добавил описание идеи, в принципе мне подойдет любая инфа где можно почитать про эти списки с примерами)
 
Понятно, я на эту тему тоже думал. Сегодня вечером после работы попробую что-то приблизительное накропать
 
а потом можно создать наверно макрос, который будет выгружать в WORD итоговую получившуюся таблицу по шаблону
 
Да, можно. Возможно, макрос понадобится и для Вашей мега идеи, но сначала попробуем формулами
 
http://www.planetaexcel.ru/techniques/1/
Тут всего вполне достаточно о списках
 
Вот, как-то примерно так...
Только нужно хорошенько продумать структуру размещения и обработки данных (доп.столбцы и таблицы), зависимости  и независимости списков.
При таком подходе, конечно, будет удобней производить выборки, чем стандартным фильтром.
И еще: а так уж обязательно делать экспорт в Word? В Excel очень красивые печатные формы можно делать, отформатировать правильно
по размеру листа - и никаких проблем с макросами!
 
_Igor_61,Интересно! почти то что надо, буду шаманить
а ворд может и не нужен, но обязательно должен быть в ПДФ итоговый файл, в этом фишка, печатать ничего не нужно, это файл для работы на ПК, а ведь по идее он и в ПДФ сразу выгрузку сделать может?
Изменено: АркадийР - 20.09.2016 22:04:14
 
Цитата
АркадийР написал:
обязательно должен быть в ПДФ итоговый файл, в этом фишка, печатать ничего не нужно
Тогда зачем в PDF?
Цитата
АркадийР написал:
он и в ПДФ сразу выгрузку сделать может?
Он - это кто? ))
 
Цитата
Юрий М написал:
Тогда зачем в PDF?
специфика и особенность работы
Цитата
Юрий М написал:
Он - это кто? ))
эксель/макрос ))
Страницы: 1 2 След.
Читают тему
Наверх