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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2013, 12:47   #1
Zzema
Пользователь
 
Регистрация: 05.02.2013
Сообщений: 15
По умолчанию Возможно ли без VBA?

Коллеги, подскажите пожалуйста:
Есть несколько листов с информацией:
1: Клиент; дата покупки (один клиент может купить несколько раз)
2: Клиент; дата звонка (звонить клиент может несколько раз)
3: Клиент; результативный звонок

Мне как раз нужно найти, был ли результативный звонок клиента (пришел ли он после звонка в течение 10 дней)...
Период исследований: месяц.
Я брал дату последней покупки и дату последнего звонка, если разница между ними <=10 дней, то звонок результативный (покупка в исследуемом месяце, соответственно звонок может быть в том числе в конце прошлого).
Все посчитал, но только потом заметил, что если после покупки клиент звонил еще раз, то результативный звонок стирается... Как быть???

В голову приходит только один вариант: найти все покупки клиента в этом месяце и для каждой покупки просмотреть все звонки и сравнить (был ли звонок для данной покупки результативным). Но я ума не приложу, как это посчитать в экселе(((... VBA на таком уровне не знаю, а формулами как такое посчитать в голову не приходит...
Подскажите люди добрые, второй день голову ломаю...
Zzema вне форума Ответить с цитированием
Старый 29.11.2013, 13:14   #2
kalbasiatka
Форумчанин
 
Регистрация: 21.10.2012
Сообщений: 208
По умолчанию

Цитата:
Есть несколько листов с информацией
Они есть только у Вас. Все остальные почитали и пошли дальше.
kalbasiatka вне форума Ответить с цитированием
Старый 29.11.2013, 13:27   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

На ВБА думаю сделать несложно - цикл по данным, запоминаем по клиенту дату последнего звонка, при покупке - считаем разницу дат.
Формулами не знаю как, но если просматривать диапазон только выше текущей ячейки - то последующие звонки влиять не должны.

Без примера файла - больше сказать нечего.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 29.11.2013, 13:41   #4
Zzema
Пользователь
 
Регистрация: 05.02.2013
Сообщений: 15
По умолчанию

Сейчас постараюсь сделать файл... Спасибо большое за желание помочь...
Zzema вне форума Ответить с цитированием
Старый 29.11.2013, 14:23   #5
Zzema
Пользователь
 
Регистрация: 05.02.2013
Сообщений: 15
По умолчанию Файл

Файл выложил, как примерно это выглядит и что мне надо...
Вложения
Тип файла: zip Microsoft Office Excel Worksheet (2).zip (11.9 Кб, 17 просмотров)
Zzema вне форума Ответить с цитированием
Старый 29.11.2013, 14:31   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

А чего это формат ячеек с временем звонка - общий?
Вообще я в формулах - пас...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 29.11.2013, 15:02   #7
Zzema
Пользователь
 
Регистрация: 05.02.2013
Сообщений: 15
По умолчанию

общий, потому что выгружается из 1с в таком формате...
А по поводу формул- мне кажется, что с формулами это сделать невозможно... По крайней мере без создания большого количества доп столбцов...
Подскажите пожалуйста, как можно рассчитать эти значения через vba (Я в этом не силен и сам точно в этом году не справлюсь))))
Zzema вне форума Ответить с цитированием
Старый 29.11.2013, 15:21   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Сперва нужно разобратся с этим форматом дат.
Намного проще и надёжнее - если на листе даты будут датами, а не текстом.
А с алгоритмом нужно подумать - я сперва иначе представлял расположение данных...

По выводу результата - "выбираю в C2 месяц и год" - это как понять?

P.S. Если кому-то интересно делать эту задачу - подключайтесь! У меня в общем нет свободного времени. Так, обрывки для мелочёвки только...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 29.11.2013 в 15:24.
Hugo121 вне форума Ответить с цитированием
Старый 29.11.2013, 15:30   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Можно через SQL запрос получить,но с ним надо поиграться если с листами играться.
Вот результат
Код клиента..Покупка..Место покупки (Площадка)..Звонок
1780..16.11.2013 18:35:32..2..15.11.2013 21:35:21
1780..26.04.2013 20:10:15..2..25.04.2013 14:19:26
1780..30.04.2013 19:12:00..2..25.04.2013 14:19:26
Какое ожидается количество строк?
Сегодня только времени нет решить задачу.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 29.11.2013, 15:34   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Одновременно могут быть 2 звонка?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли выполнение кода vba в проекте С#? psybehemoth C# (си шарп) 3 05.06.2013 08:13
Уничтожить данные без возможно восстановления hon Безопасность, Шифрование 20 05.01.2012 21:39
Регулярные вырожения без компонентов, возможно ли? Arsenx777 Общие вопросы Delphi 8 03.09.2011 19:25
SQL подзапрос без сравнения, возможно ? DS75 БД в Delphi 7 03.06.2009 12:32