Интернет

Формула Excel

Всем, привет! Нужна помощь знающих Excel людей. Представьте такую ситуацию: - 03.04.2011 я получаю информацию (номера телефонов) – их кол-во 200, и заношу их в столбец в экселе. - 06.04.2011 я получаю свежую информацию (тоже номера телефонов) – но их кол-во уже 180 (некоторые из них проданы, некоторые новые добавлены, какие-то их них так и остались без изменений), я заношу их в соседний столбец в экселе. Далее передо мной стоит задача сравнить 2 этих столбца, и выявить 3 типа этих номеров (проданные, добавленные, не тронутые) Для этого я трачу много времени, хочу тратить меньше. Сделайте мне формулу, которая будет все это сортировать как мне надо.
Это наверно не последняя задача, на которую захочется тратить меньше времени. Изучайте VBA.
И так зарабатываю себе "Лучший ответ".
Сначала приготовим таблицу.
Заголовки таблицы:
A1 – Устаревшая информация
B1 – Свежая информация
C1 – Проданные номера
D1 – Новые номера
E1 – Не тронутые номера
Данные в колонки A и B заносим, начиная со второго ряда.

Разрешаем выполнение макросов Сервис -> Макрос -> Безопасность -> Средняя.
Теперь вставляем макрос Сервис -> Макрос -> Редактор Visual Basic.
Далее в редакторе VBA в окошке VBAProject кликаем по VBAProject(имя файла) , затем Insert -> Module при этом откроется окошко вставки кода.

Код:
----------------
Sub Tel_info()
p = 2
n = 2
t = 2
r = 2
Do While (Cells(r, 1) <> "") Or (Cells(r, 2) <> "")
r = r + 1
Loop
Range(Cells(2, 3), Cells(500, 5)).Clear
For r1 = 2 To r
For r2 = 2 To r
If Cells(r1, 1) = Cells(r2, 2) Then
Cells(t, 5) = Cells(r2, 2)
t = t + 1
End If
Next r2
pc = r
For r2 = 2 To r
If Cells(r1, 1) <> Cells(r2, 2) Then
pc = pc - 1
End If
Next r2
If pc = 1 Then
Cells(p, 3) = Cells(r1, 1)
p = p + 1
End If
pc = r
For r2 = 2 To r
If Cells(r1, 2) <> Cells(r2, 1) Then
pc = pc - 1
End If
Next r2
If pc = 1 Then
Cells(n, 4) = Cells(r1, 2)
n = n + 1
End If
Next r1
End Sub
----------------
Вставляем код.
Переходим в окно Excel
Запускаем макрос Сервис -> Макрос -> Макросы, выбираем макрос Tel_info и жмем выполнить.
Сохраните этот файл.
В следующий раз перенесите данные колонки В в колонку А, а в В поместите свежую информацию. Запускайте макрос.
Программа может работать с любым количеством номеров, но автоматическая очистка колонок результатов действует до 500-ого ряда.
Виталий Кушнир
Виталий Кушнир
27 337
Лучший ответ