Finne Forskjeller mellom Lister

January 4  by Eliza

Det er ikke uvanlig for folk å holde klientinformasjon i Excel-regneark. Hvis du har et regneark som inneholder navnene på alle dine kunder, og et annet regneark som inneholder navnene på aktive kunder, kan det være lurt å bruke Excel evner å oppdage hvem dine inaktive kunder er.

Det er flere måter du kan oppnå denne oppgaven. Den første er gjennom bruk av VLOOKUP. Dette regnearkfunksjonen fungerer bra, forut lister over kunder er ordnet i alfabetisk rekkefølge. En måte å bruke funksjonen er å legge til en status kolonne til "alle klienter" regneark. Først må du velge dine aktive kunder og navngi dem "Aktiv". (Hvordan du definerer et navn på et valgt område av celler er dekket i andre ExcelTips.) Så, i din fulle listen over klienter, legge til en kolonne (oppkalt Status) til høyre for eksisterende data. I cellene i Status-kolonnen, må du bruke følgende formel:

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

Denne formelen forutsetter at klienten navn er i kolonne A i gjeldende regneark. Resultatet av denne formelen er enten "Aktiv" og "inaktiv", avhengig av om det er et samsvar mellom navnet på A2, og navnene i aktiv liste.

Når kolonnen Status er på plass, kan du bruke Autofilter evnen til Excel for å filtrere listen basert på statuskolonnen. Deretter kan du enkelt vise de inaktive kunder, som ønsket.

Det bør bemerkes at mens eksempelet ovenfor bruker VLOOKUP regnearkfunksjonen, kan du like gjerne komponere andre formler som bruker funksjoner som FINN.KOLONNE og MATCH. Som du bruker, avhenger av dine personlige preferanser og måten dataene er lagt ut.

En annen løsning er å bruke en makro til å sammenligne hver navn på "alle klienter" liste med navnene på "aktive kunder" -liste. Hvis det ikke blir funnet, så navnet kan trygt legges til "inaktive kunder" -liste. Følgende makro gjør nettopp det:

Sub ListInactive ()
Dim celle Som Range
Dim SearchRng Som Range

Satt SearchRng = Regneark ("Ark2") Range. ("A: A")
Teller = 1 'Første rad på Sheet3 inneholder overskrifter
For Hver celle i regneark ("Ark1")
.Range ("A2: A1000") _
.SpecialCells (XlCellTypeConstants)
ID = celle 'klient-ID
NM = cell.Offset (0, 1) 'Client navn
MatchRow = 0
On Error Resume Next
MatchRow = WorksheetFunction.Match (ID, _
SearchRng, 0)
On Error GoTo 0
Hvis MatchRow = 0 Then
Teller = Counter + 1
Regneark ("Ark3"). Cells (Counter, 1) = ID
Regneark ("Ark3"). Cells (Counter, 2) = NM
End If
Neste celle
End Sub

Makroen gjør flere antagelser om dataene som blir undersøkt. Først antar den at "alle klienter" regneark er det første regnearket, og at den "aktive kunder" regneark er den andre. Dessuten antas det at den tredje arket er blank og vil ende opp som inneholder listen over inaktive klienter. Videre er det en forutsetning at kolonne A inneholder en unik klient ID-nummer og kolonne B inneholder navnet på klienten. Når makroen er ferdig, inneholder den tredje regneark klientnumre og navn på alle de inaktive kunder.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2053) gjelder for Microsoft Excel 97, 2000, 2002, og 2003.