No es inusual que las personas mantengan la información del cliente en hojas de cálculo de Excel. Si tiene una hoja de trabajo que contiene los nombres de todos sus clientes y otra hoja de trabajo que contiene los nombres de sus clientes activos, es posible que desee utilizar las capacidades de Excel para descubrir quiénes son sus clientes inactivos.

Hay varias formas de realizar esta tarea. La primera es mediante el uso de BUSCARV. Esta función de hoja de trabajo funciona muy bien, siempre que sus listas de clientes estén organizadas en orden alfabético. Una forma de utilizar la función es agregar una columna de estado a sus «todos los clientes»

hoja de cálculo. Primero, asegúrese de seleccionar sus clientes activos y de nombrarlos «Activos». (La forma de definir un nombre para un rango de celdas seleccionado se explica en otros ExcelTips.) Luego, en su lista completa de clientes, agregue una columna (llamada Estado) a la derecha de sus datos existentes. En las celdas de la columna Estado, use la siguiente fórmula:

=IF(ISNA(VLOOKUP(A2,Active,1,FALSE)),"Inactive","Active")

Esta fórmula asume que el nombre del cliente está en la columna A de la hoja de trabajo actual. El resultado de la fórmula es «Activo» o «Inactivo», dependiendo de si hay una coincidencia entre el nombre en A2 y los nombres en la lista Activo.

Una vez que la columna de estado esté en su lugar, puede usar la capacidad de autofiltro de Excel para filtrar su lista según la columna de estado. A continuación, puede visualizar fácilmente los clientes inactivos, según desee.

Cabe señalar que, si bien el ejemplo anterior usa la función de hoja de trabajo BUSCARV, podría componer otras fórmulas con la misma facilidad que usan funciones como BUSCARH y COINCIDIR. Lo que utilice dependerá de sus preferencias personales y de la forma en que se distribuyan sus datos.

Otra solución es utilizar una macro para comparar cada nombre en la lista «todos los clientes» con los nombres en la lista «clientes activos». Si no se encuentra ninguna coincidencia, el nombre se puede agregar de forma segura a los «clientes inactivos»

lista. La siguiente macro hace precisamente eso:

Sub ListInactive()

Dim cell As Range     Dim SearchRng As Range

Set SearchRng = Worksheets("Sheet2").Range("A:A")

Counter = 1 'First row on Sheet3 contains headings     For Each cell In Worksheets("Sheet1")

.Range("A2:A1000") _       .SpecialCells(xlCellTypeConstants)

ID = cell 'Client ID         NM = cell.Offset(0, 1) 'Client name         MatchRow = 0         On Error Resume Next         MatchRow = WorksheetFunction.Match(ID, _           SearchRng, 0)

On Error GoTo 0         If MatchRow = 0 Then             Counter = Counter + 1             Worksheets("Sheet3").Cells(Counter, 1) = ID             Worksheets("Sheet3").Cells(Counter, 2) = NM         End If     Next cell End Sub

La macro hace varias suposiciones sobre los datos que se examinan.

Primero, asume que la hoja de trabajo de «todos los clientes» es la primera hoja de trabajo y que la hoja de trabajo de «clientes activos» es la segunda. Además, se supone que la tercera hoja de trabajo está en blanco y terminará conteniendo la lista de clientes inactivos. Además, se supone que la columna A contiene un número de identificación de cliente único y la columna B contiene el nombre del cliente. Cuando finaliza la macro, la tercera hoja de trabajo contiene los números de cliente y los nombres de todos los clientes inactivos.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2053) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.