Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.11.2008, 17:17   #1
SLP
 
Аватар для SLP
 
Регистрация: 17.11.2008
Сообщений: 9
По умолчанию Слить-объединить несколько файлов в один

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

Имеется несколько таблиц в Excel (как обычно "выборка" из базы данных, которая многих отчётов не делает и не планирует делать) с информацией по статистике товара (приход-расход, цена, остаток) по различным годам (месяцам) деятельности предприятия.
Требуется объединить эти файлы, чтобы была полная информация за всё время.
- Количество строк в различных файлах колеблется от 10 тыс. до 15 тыс. (может быть и более 35 тыс.);
- Количество позиций изменялось в течении различных месяцев и лет;
- Во всех файлах имеются несколько столбцов абсолютно идентифицирующих единицу товара (их количество пять), "идентификатор" товара состоит минимум из двух ячеек (Модель-Номер) - это сочетание уникально, но присутствует в каждом файле;

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

Прочитал - сложно написал.

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

Прошу помочь, это сэкономит мне кучу времени на "объединение".
Вложения
Тип файла: rar Запчасти_2006-2008.rar (20.2 Кб, 64 просмотров)
SLP вне форума
Старый 19.11.2008, 07:47   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Main".
1. С Вашего позволения, в исходном файле на листе "2008" в столбце "F" заголовок "Производитель" заменен на "Остаток на начало 2008г." (числа в столбце проставлены произвольно), т.е. по аналогии с другими листами.
2. Итоговый лист перемещен в начало. Это позволяет в дальнейшем добавлять произвольное количество листов для обработки. Следите за тем, чтобы структура этих листов была одинакова (назначение столбцов). Количество месяцев на каждом листе - произвольное, так же как и количество строк.
3. Не понял, что делать с данными столбца "A". Идентификация записей в таблице осуществляется по столбцам "Модель" и "Номер". В Вашем примере встречаются наименования с идентичными параметрами, но с разнами значениями в столбце "A". Сейчас делается так: если текущее наименование не идентифицировано, то в столбец "A" заносится его значение, а если это наименование уже есть в списке, то значение в столбце остается неизменным. А как нужно?
4. Что нужно изменить (добавить, убрать и т.д.) - пишите.
Вложения
Тип файла: rar Запчасти_2006-2008_2.rar (24.6 Кб, 119 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.11.2008, 18:13   #3
SLP
 
Аватар для SLP
 
Регистрация: 17.11.2008
Сообщений: 9
По умолчанию Всё выглядит как и хотелось бы

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

Спасибо, Вам.
Жду Вашего решения.
SLP вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объединить несколько ячеек katlis Microsoft Office Excel 9 12.01.2009 22:29
Как объединить два массива в один. TheWanderer Общие вопросы C/C++ 2 10.11.2008 00:15
два запроса, которые нужно объединить в один. andrianov123 БД в Delphi 4 16.05.2008 16:06
Объединить в один файл asale Microsoft Office Excel 2 12.02.2008 13:18
Как объединить несколько ячеек katlis Microsoft Office Excel 1 02.08.2007 23:31