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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2009, 17:05   #1
Wolve
 
Регистрация: 08.10.2009
Сообщений: 5
Восклицание Сравнение, нужна помощь!

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

Ситуация такая, мне срочно нужно научиться сравнивать таблицы в EXCEL. Допустим у меня есть файл в котором два листа. На первом листе данные о наших клиентах (например за июнь и июль), за каждым числится уникальный Id.


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

Вроде бы пояснил понятно, а вот сделать для меня ая-яй, как сложно. Заранее спасибо тем, кто откликнется, для тех, кто разбирается в Excel я думаю - это сущий пустяк.
Wolve вне форума Ответить с цитированием
Старый 08.10.2009, 17:23   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Вроде бы пояснил понятно
Было бы гораздо понятнее, если вместо картинки Вы прикрепили бы пример файла.

Конфиденциальные данные можно заменить на что-то вроде Иванов Иван Иванович, хватит и 5-10 строк на каждом листе.
EducatedFool вне форума Ответить с цитированием
Старый 08.10.2009, 17:38   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Вот пример, где на 3-й лист помещаются данные из 1 таблицы. Нажимать нужно на кнопку на 2-м листе
Вложения
Тип файла: rar test5.rar (14.8 Кб, 23 просмотров)
motorway вне форума Ответить с цитированием
Старый 09.10.2009, 15:12   #4
Wolve
 
Регистрация: 08.10.2009
Сообщений: 5
По умолчанию

Вот пример.
В первой таблице общие данные (за определенный период)
Во второй те, что сравнивают с первой.
В третье то, что должно по идее получиться: в нее выбираются только те данные, что есть на втором листе (таблица 2), а в последнем столбце пишется количество обращений.
Вложения
Тип файла: rar test.rar (8.2 Кб, 12 просмотров)
Wolve вне форума Ответить с цитированием
Старый 09.10.2009, 15:18   #5
Wolve
 
Регистрация: 08.10.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Вот пример, где на 3-й лист помещаются данные из 1 таблицы. Нажимать нужно на кнопку на 2-м листе
Спасибо, работает. Как я понял, для большего объема данных нужно указать в макросе другой диапазон? Не A2:A10, а A2:A100000? Не подскажете, как еще посчитать кол-во обращений? У вас макрос выбирает самое первое совпадение, другие не учитывает, в принципе, это хорошо, потому что не надо потом на уникальность проверять третий лист, а вот посчитать даже и не знаю как.

Последний раз редактировалось Wolve; 09.10.2009 в 15:21.
Wolve вне форума Ответить с цитированием
Старый 09.10.2009, 16:49   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Указать можно с помощью переменной, определяющей реально используемую границу листа. Понятно, что если данных меньше гораздо, то сравнивать лишнее не нужно. Вот сделал пример, надеюсь, Вам нужно именно так.
Вложения
Тип файла: rar Test2.rar (19.2 Кб, 14 просмотров)
motorway вне форума Ответить с цитированием
Старый 12.10.2009, 15:45   #7
Wolve
 
Регистрация: 08.10.2009
Сообщений: 5
По умолчанию

Благодарю за помощь. Кнопка вроде бы работает, но почему-то не всегда показывает правильное кол-во обращений, поможет ли данный скрипт, если в базе будут десятки тысяч клиентов?

Последний раз редактировалось Wolve; 12.10.2009 в 15:50.
Wolve вне форума Ответить с цитированием
Старый 12.10.2009, 15:52   #8
Wolve
 
Регистрация: 08.10.2009
Сообщений: 5
По умолчанию

Вот допустим я на втором листе расположил данные, результат неправильный.
Вложения
Тип файла: rar Test0.rar (19.9 Кб, 9 просмотров)
Wolve вне форума Ответить с цитированием
Старый 12.10.2009, 15:58   #9
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Да, похоже там ошибка. Попробую исправить
motorway вне форума Ответить с цитированием
Старый 12.10.2009, 16:14   #10
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Сейчас нет возможности по времени этим заниматься, но могу сказать, что просто надо программно присваивать нужную формулу СЧЕТЕСЛИ для определения числа обращений.
motorway вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Нужна помощь!!! Волк Общие вопросы Delphi 8 05.02.2009 23:15
нужна помощь, сравнение строк в Си 3.1 feranic Помощь студентам 5 24.04.2008 17:57
Нужна помощь..... b00s Общие вопросы Delphi 6 18.02.2008 15:24