Люди нередко хранят информацию о клиентах в таблицах Excel. Если у вас есть рабочий лист, содержащий имена всех ваших клиентов, и другой рабочий лист, содержащий имена ваших активных клиентов, вы можете использовать возможности Excel, чтобы узнать, кто ваши неактивные клиенты.
Есть несколько способов выполнить эту задачу. Первый – за счет использования ВПР. Эта функция рабочего листа отлично работает, если списки клиентов расположены в алфавитном порядке. Один из способов использования функции – добавить столбец статуса на рабочий лист «все клиенты». Во-первых, убедитесь, что вы выбрали своих активных клиентов и назвали их «Активными». (Как вы определяете имя для выбранного диапазона ячеек, описано в других ExcelTips. ) Затем в полный список клиентов добавьте столбец (с именем Status) справа от существующего данные. В ячейках столбца «Статус» используйте следующую формулу:
= IF (ISNA (VLOOKUP (A2, Active, 1, FALSE)), «Inactive», «Active»)
Эта формула предполагает, что имя клиента находится в столбце A текущего рабочего листа. Результатом формулы будет либо «Активный», либо «Неактивный», в зависимости от того, есть ли совпадение между именем в A2 и именами в активном списке.
Когда столбец «Состояние» находится в place, вы можете использовать функцию автофильтра Excel для фильтрации списка на основе столбца состояния. Затем вы можете легко отображать неактивные клиенты, если хотите.
Следует отметить, что хотя в приведенном выше примере используется функция рабочего листа ВПР, вы можете так же легко составить другие формулы, которые используют такие функции, как HLOOKUP и МАТЧ. То, что вы используете, зависит от ваших личных предпочтений и способа размещения ваших данных.
Другое решение – использовать макрос для сравнения каждого имени в списке «все клиенты» с именами в список «активных клиентов». Если совпадений не найдено, то имя можно безопасно добавить в список «неактивных клиентов». Следующий макрос делает именно это:
Sub ListInactive () Dim cell As Range Dim SearchRng As Range Set SearchRng = Worksheets («Sheet2»). Range («A: A») Counter = 1 ‘ Первая строка на листе Sheet3 содержит заголовки для каждой ячейки на листах («Sheet1») .Range («A2: A1000») _ .SpecialCells (xlCellTypeConstants) ID = cell ‘Идентификатор клиента NM = cell.Offset (0, 1)’ Имя клиента MatchRow = 0 При ошибке Возобновить следующий MatchRow = WorksheetFunction.Match (ID, _ SearchRng, 0) При ошибке GoTo 0 Если MatchRow = 0 Тогда Counter = Counter + 1 Worksheets («Sheet3»). Cells (Counter, 1) = ID Worksheets («Sheet3»). Cells (Counter, 2) = NM End If Next cellEnd Sub
Макрос делает несколько предположений относительно исследуемых данных. Во-первых, предполагается, что рабочий лист «все клиенты» является первым листом, а рабочий лист «активных клиентов» – вторым.. Кроме того, предполагается, что третий лист пуст и будет содержать список неактивных клиентов. Кроме того, предполагается, что столбец A содержит уникальный идентификационный номер клиента, а столбец B содержит имя клиента. Когда макрос будет завершен, третий рабочий лист будет содержать номера клиентов и имена всех неактивных клиентов.
Источник: