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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 16:38   #1
Vladislav_Dmitriev
Новичок
Джуниор
 
Регистрация: 19.01.2012
Сообщений: 1
По умолчанию ВПР не подходит. Как решить проблему?

Доброго Всем времени суток.
Постараюсь наиболее ясно и понятно обрисовать то, что требуется.
Есть Огромный массив данных(список магазинов с потоками денежных средств). У каждого магазина есть свой уникальный код, он иногда повторяется и это необходимо учесть, присваивать другие коды запрещено. Также из всего массива необходимо отобрать лишь некоторые столбцы с данными по денежным потокам каждого!! магазина. Отобранные данные необходимо перенести в таблицу опреденного вида. Файл прилагается. Можно было бы решить с помощью функции ВПР, но так как значения по уникальному коду повторяются, ее применить нельзя. Столбцы выделнные голубым цветом необходимо учесть. За основу взять закладку декабрь.
Можно решить с помомощью VBA или с помощью встроенных функций. Разницы нет. На работе используют 2003 Excel.
Вложения
Тип файла: rar Куда скинуть полученные данные.rar (436.3 Кб, 17 просмотров)
Тип файла: rar Откуда нужно взять информацию.rar (2.89 Мб, 14 просмотров)

Последний раз редактировалось Vladislav_Dmitriev; 19.01.2012 в 16:40. Причина: Ошибка
Vladislav_Dmitriev вне форума Ответить с цитированием
Старый 19.01.2012, 17:54   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Из примера "куда" я лично ничего не понял.
Но думаю можно задачу сделать с помощью словаря и связанного с ним массива - в словаре уникальные и индекс массива, в массиве суммы.
Уже делал тут такие задачи - ничего сложного, но муторно столбцы прописывать...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 23.01.2012, 01:03   #3
sub4biz
 
Регистрация: 23.01.2012
Сообщений: 5
По умолчанию

Я не понял в чем уникальность записи в тех случаях, когда коды магазинов одинаковы... - если они одинаковы, то их можно объединить. Если разные - то надо определить в чем уникальность. Объединяя признак уникальности и код магазина - получаем индекс, который полностью уникален. И можно использовать ВПР.

Я бы сделал так:
ввел столбец - месяц - и объединил все месяцы на один лист.
ввел столбец - индекс - СЦЕПИЛ бы месяц, код магазина и/или адрес/название магазина (в названии точки как раз можно подмухлевать для уникальности - как пример - Орджоникидзе, 11 и Орджоникидзе - 11).

В итоге мы имеем обычную таблицу с уникальными индексами в первом столбце и дальше уже работаем с обычной функцией ВПР.

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

Надеюсь идея понятна.
Такое подходит?
sub4biz вне форума Ответить с цитированием
Старый 23.01.2012, 14:14   #4
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

в добавок к sub4biz могу чуть-чуть:
Так же обьединить месяца. Можно посредством vba реализовать, а можно вручную.
Если хотите VBA то можно, например: определять последнюю не пустую строчку в 1 месяце, копировать все до последней строчки, переходить на лист (для сводных данных), определять там последнюю заполненную строчку (для первого месяца это будет 1 строка) и вставлять... и так далее остальные месяца.

Функцией массива посчитать количество повторений и для каждого повторения присвоить порядковый номер, прикрепить этот порядковый номер к коду магазина и в результате получаем список только из уникальных значений и потом спокойно пользуемся ВПР.
(Только если список ну очень большой то функция массива может медленно работать....)
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 23.01.2012, 15:38   #5
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

кстати, "подмухлевывая" таким образом с адресами (как и со всеми другими данными):

Орджоникидзе, 11 и Орджоникидзе - 11

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

конечно если дальше данные никак не будут обрабатываться, то это особой роли не играет
Bape}l{ka вне форума Ответить с цитированием
Старый 23.01.2012, 17:37   #6
sub4biz
 
Регистрация: 23.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Bape}l{ka Посмотреть сообщение
кстати, "подмухлевывая" таким образом с адресами (как и со всеми другими данными):

Орджоникидзе, 11 и Орджоникидзе - 11

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

конечно если дальше данные никак не будут обрабатываться, то это особой роли не играет
Дык я ведь не случайно привел пример с Орджоникидзе, д. 11
Если скачать файлы и посмотреть магазин с номером 1700, то мы там увидим два разных написания адреса одного и того же магазина...
А вот для другого магазина - нормально написано.
Отсюда и родилась идея с адресами.
Стало понятно, что там это вроде как параллельно-перпендикулярный учет по одной и той же точке. По крайней мере адреса - разные? Значит берется из разных мест...

А так ты прав. При мухлежке главное - не перемухлевать
sub4biz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выручайте :( Axandra Паскаль, Turbo Pascal, PascalABC.NET 0 27.05.2009 19:51