![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 08.10.2009
Сообщений: 5
|
![]()
Здравствуйте. Решил обратиться к Вам за помощью, т.к. уже выбился из сил читать статьи и копаться в поисковиках, самостоятельно справиться никак не получается. Если не можете помочь (или лень), просто промолчите, не надо сразу кидаться камнями.
Ситуация такая, мне срочно нужно научиться сравнивать таблицы в EXCEL. Допустим у меня есть файл в котором два листа. На первом листе данные о наших клиентах (например за июнь и июль), за каждым числится уникальный Id. ![]() На втором схожая таблица, но только с теми людьми, которые к нам обратились повторно (за июль и август). Как из первой таблицы выбрать только тех (по Id), кто находится во второй таблице и перенести на третий лист? Нужно это для статистики. Потому что во второй лист мне нужно будет подставлять таблицы за другие месяца (за сентябрь, октябрь), чтобы узнать кто (и сколько раз) из клиентов за июнь и июль обращался в другие месяца (соответственно за июль, август, сентябрь, октябрь). Там могут быть и новые клиенты, соответственно, они на третий лист попасть никак не должны, т.к. не содержатся в первом листе (ведь там уникальные данные за июнь и июль). Вторые таблицы не уникальные, т.е. если клиент обратился за месяц 3 раза, то он и будет числится 3 раза, сложность в том, что мне к тому же еще нужно узнать количество обращений того или иного клиента. Собственно второй вопрос вытекает из сказанного выше, как на третьем листе в столбце любом свободном (пустом) столбце, сделать формулу, которая укажет точное кол-во обращений напротив каждого клиента. Как я понял нужно дать запрос на сравнение 1-го листа со 2-ым. Выбрать все совпадения и перенести уникально на 3-ий лист. На 3-ем листе сделать запрос ко второму, на проверку кол-ва совпадений Id, для составления столбца с кол-вом обращений каждого клиента. Вроде бы пояснил понятно, а вот сделать для меня ая-яй, как сложно. Заранее спасибо тем, кто откликнется, для тех, кто разбирается в Excel я думаю - это сущий пустяк. |
![]() |
![]() |
![]() |
#2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Конфиденциальные данные можно заменить на что-то вроде Иванов Иван Иванович, хватит и 5-10 строк на каждом листе. |
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Вот пример, где на 3-й лист помещаются данные из 1 таблицы. Нажимать нужно на кнопку на 2-м листе
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 08.10.2009
Сообщений: 5
|
![]()
Вот пример.
В первой таблице общие данные (за определенный период) Во второй те, что сравнивают с первой. В третье то, что должно по идее получиться: в нее выбираются только те данные, что есть на втором листе (таблица 2), а в последнем столбце пишется количество обращений. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 08.10.2009
Сообщений: 5
|
![]()
Спасибо, работает. Как я понял, для большего объема данных нужно указать в макросе другой диапазон? Не A2:A10, а A2:A100000? Не подскажете, как еще посчитать кол-во обращений? У вас макрос выбирает самое первое совпадение, другие не учитывает, в принципе, это хорошо, потому что не надо потом на уникальность проверять третий лист, а вот посчитать даже и не знаю как.
Последний раз редактировалось Wolve; 09.10.2009 в 15:21. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Указать можно с помощью переменной, определяющей реально используемую границу листа. Понятно, что если данных меньше гораздо, то сравнивать лишнее не нужно. Вот сделал пример, надеюсь, Вам нужно именно так.
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 08.10.2009
Сообщений: 5
|
![]()
Благодарю за помощь. Кнопка вроде бы работает, но почему-то не всегда показывает правильное кол-во обращений, поможет ли данный скрипт, если в базе будут десятки тысяч клиентов?
Последний раз редактировалось Wolve; 12.10.2009 в 15:50. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 08.10.2009
Сообщений: 5
|
![]()
Вот допустим я на втором листе расположил данные, результат неправильный.
![]() |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Да, похоже там ошибка. Попробую исправить
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Сейчас нет возможности по времени этим заниматься, но могу сказать, что просто надо программно присваивать нужную формулу СЧЕТЕСЛИ для определения числа обращений.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Очень нужна помощь 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 |