725955

Wie Sie in Excel-Tabellen Daten suchen

Excel(lente) Suche Finden Sie immer alles wieder?

Anforderung

Fortgeschrittener

Zeitaufwand

Hoch

Excel(lente) Suche Finden Sie immer alles wieder? Die Papiere auf Ihrem Schreibtisch müssen Sie selbst durchblättern. Wenn Sie jedoch in Excel-Dateien Informationen suchen, liefern wir hier die nötigen Profi-Tips Sie sind sich sicher, daß Sie bestimmte Informationen in eine große Excel-Tabelle eingegeben haben. Doch nun finden Sie sie nicht wieder. Auf den ersten Blick erscheint die Lösung einfach: Wie in anderen Office-Programmen können Sie bestimmte Zeichenfolgen über "Bearbeiten, Suchen" aufspüren. In vielen Fällen reicht diese Möglichkeit aber nicht aus. Wir stellen Ihnen hier eine Reihe anderer Suchmechanismen vor. GRUNDLAGEN Nach Text suchen Legen Sie zunächst fest, in welchem Bereich Sie suchen möchten: Wenn Sie einen Bereich markieren, beschränkt sich die Suche auf diesen. Haben Sie nur eine Zelle markiert, durchsucht Excel automatisch das ganze Tabellenblatt. Danach wählen Sie "Bearbeiten, Suchen". Geben Sie den Suchtext ein, und legen Sie unter "Suchen in" fest, ob Excel in Formeln, Werten oder Kommentaren suchen soll. Wenn Sie nicht exakt wissen, wie die gesuchte Zeichenfolge lautet, können Sie Stellvertreter verwenden. Ein Fragezeichen steht für ein beliebiges Zeichen. Suchen Sie beispielsweise einen Namen, von dem Sie nicht wissen, ob er "Maier" oder "Mayer" geschrieben wird, können Sie nach "Ma?er" suchen. Ein Sternchen ("*") steht für eine beliebige Anzahl von Zeichen. Enthält der Suchbegriff selbst ein Fragezeichen oder Sternchen, müssen Sie Excel klarmachen, daß es sich nicht um einen Stellvertreter handelt. Setzen Sie dazu vor das Fragezeichen oder Sternchen eine Tilde ("~"). Der Such-String "Wer?" führt beispielsweise zum Text "Wert". Geben Sie dagegen "Wer~?" ein, findet Excel "Wer?". Mit der Angabe "~*" lassen Sie nach dem Sternchen suchen, mit "~~" nach einer Tilde.

GLOBALE SUCHE In allen Tabellenblättern suchen Excel sucht in allen Blättern einer Arbeitsmappe, wenn Sie zunächst mit gedrückter <Shift>-Taste alle enthaltenen Tabellen markieren und dann "Bearbeiten, Suchen" wählen. Excel zeigt aber dabei nur die erste Fundstelle an; kommt der Suchbegriff mehrfach vor, können Sie dies mit normalen Mitteln nicht feststellen. Für eine bequemere und genauere Suche in allen Tabellenblättern einer Arbeitsmappe haben wir das Makro "Globale Suche" geschrieben (siehe nachfolgendes Listing), das diese Funktion übernimmt. Ein Dialog ermöglicht die Eingabe des Suchbegriffs und der Suchoptionen. Sie finden unser Makro in der Datei GLOBSUCH.XLS. Wenn Sie die Datei geöffnet haben, können Sie den Dialog "Globale Suche" über "Extras, Makro, Makros, findall" aufrufen. LISTING FINDALL Option Explicit Sub FindAll() GlobaleSuche.Show End Sub Sub FindGlobal(Suchbegriff As String) Dim firstCell, nextCell, StringToFind, Antwort As String Dim mCase, notFound As Boolean Dim Lookat, Lookin, sOrder As Variant Dim FindFlag As Integer Dim ws As Object GlobaleSuche.Hide If GlobaleSuche.chkGossKlein Then mCase = True Else mCase = False End If If GlobaleSuche.chkGanzeZellen Then Lookat = xlWhole Else Lookat = xlPart End If Select Case GlobaleSuche.ComboBox1.Value Case "Wert" Lookin = xlValues Case "Formeln" Lookin = xlFormulas Case "Kommentare" Lookin = xlNotes End Select Select Case GlobaleSuche.ComboBox2.Value Case "In Zeilen" sOrder = xlByRows Case "In Spalten" sOrder = xlByColumns End Select notFound = True For Each ws In Worksheets StringToFind = Suchbegriff Set firstCell = Worksheets(ws.Name).Cells.Find(What:=StringToFind, _ Lookin:=Lookin, Lookat:=Lookat, SearchDirection:=xlPrevious, MatchCase:=mCase) If Not firstCell Is Nothing Then notFound = False nextCell = Worksheets(ws.Name).Cells.FindNext _ (After:=Range(firstCell.Address)).Address If ShowResult(ws.Name, nextCell) Then Exit Sub Do While firstCell.Address <> nextCell nextCell = Worksheets(ws.Name).Cells.FindNext _ (After:=Range(nextCell)).Address If ShowResult(ws.Name, nextCell) Then Exit Sub Loop End If Next ws If notFound Then MsgBox ("Nicht gefunden"), vbExclamation GlobaleSuche.Show End Sub Function ShowResult(Sheetname, CurCell) Dim Antwort As String Worksheets(Sheetname).Activate Worksheets(Sheetname).Cells.Range(CurCell).Select Antwort = MsgBox("Wert gefunden in: " & Sheetname & " " & CurCell, vbRetryCancel, "Weitersuchen") If Antwort = vbCancel Then ShowResult = True GlobaleSuche.cmdSuchen.Caption = "Neue Suche" GlobaleSuche.Show End If End Function SUCHEN VON ZELLEN Gleiche Zelltypen markieren Mit dem Befehl "Bearbeiten, Gehe zu" können Sie eine Gruppe von Zellen markieren, die bestimmten Kriterien genügen. Zur besseren Übersicht ist es oft nützlich, etwa alle leeren Zellen oder alle Zellen mit Formeln in einer bestimmten Hintergrundfarbe hervorzuheben. Markieren Sie zunächst den Zellbereich, in dem Sie suchen lassen wollen. Wenn Sie eine beliebige Zelle des Tabellenblatts markieren, wird die Suche auf dem ganzen Tabellenblatt durchgeführt. Wählen Sie dann "Bearbeiten, Gehe zu", und klicken Sie auf die Schaltfläche "Inhalte". Sie sehen jetzt eine Reihe von Optionen, aus denen Sie auswählen können. Der Eintrag "Leerzellen" markiert beispielsweise alle Zellen im ausgewählten Bereich, die keinen Eintrag enthalten. Aktivieren Sie "Formel", können Sie die Zellen markieren, in denen Formeln enthalten sind.

IN LISTEN SUCHEN (I) Eine gefilterte Liste anzeigen Wenn Sie das Suchergebnis weiterbearbeiten oder ausdrucken wollen, können Sie die Autofilter-Funktion einsetzen. Zu diesem Zweck markieren Sie in der Liste eine beliebige Zelle. Dann wählen Sie "Daten, Filter, Autofilter". Excel verwendet nun die erste Tabellenzeile automatisch als Überschrift und fügt in jeder Zelle dieser Zeile einen Drop-down-Pfeil ein. Wählen Sie die Spalte aus, die Sie filtern wollen. Das kann beispielsweise in einer Adressenliste die Spalte mit der Ortsangabe sein. Klicken Sie auf den Pfeil in dieser Spalte. Es erscheint eine Liste mit allen möglichen Filterkriterien. Wählen Sie den gewünschten Eintrag (beispielsweise "München"). Excel zeigt dann nur noch die Einträge Ihrer Adressenliste an, die exakt die Zeichenkette "München" enthalten. Sie können auch andere Filterkriterien verwenden. So lassen sich beispielsweise alle Zeilen anzeigen, in denen eine Postleitzahl steht, die mit "8" beginnt. Klicken Sie dazu wieder auf den Pfeil neben der Spaltenüberschrift, und wählen Sie "Benutzerdefiniert". Gehen Sie unter "Zeilen anzeigen" auf den Eintrag "beginnt mit", und tragen Sie dahinter den Filterwert ein, in unserem Beispiel "8". Sie können das Filterkriterium auch weiter einschränken, indem Sie im selben Dialog eine zweite Filterbedingung für diese Spalte auswählen. Um dagegen für eine zweite Spalte zusätzlich einen Filter anzugeben, klicken Sie auf den Pfeil dieser Spalte und legen einen weiteren Filter fest. In der zweiten Spalte stehen Ihnen zum Filtern nur noch die Werte zur Verfügung, die nach dem Filtern der ersten Spalte übrig geblieben sind. IN LISTEN SUCHEN (II) Für die Suche Spezialfilter einsetzen Wenn Sie mehr als zwei Filterkriterien pro Spalte oder Kriterien für mehrere Spalten angeben wollen, reicht "Autofilter" nicht aus. Sie müssen dann mit Spezialfiltern arbeiten. Dazu sind einige Vorbereitungen nötig: Sorgen Sie dafür, daß die Liste Spaltenüberschriften enthält. Fügen Sie dann oberhalb der Liste drei leere Zeilen ein, in denen Sie die Filterkriterien festlegen. Fügen Sie dazu in die erste Zeile als "Kriterienbeschriftung" die Spaltenüberschriften der Spalten ein, die die zu filternden Werte enthalten. Geben Sie als "Kriterienbereich" in der zweite Zeile den ersten Wert ein, der in der gefilterten Liste angezeigt werden soll. Für jedes weitere Kriterium fügen Sie eine eigene Zeile ein. Achten Sie darauf, daß zwischen den Suchkriterien und der Liste eine Leerzeile bleibt. Berücksichtigen Sie dabei, daß Kriterien, die in derselben Zeile stehen, mit "Und" verknüpft werden, Kriterien, die in zwei Zeilen stehen, dagegen mit "Oder". Wenn Sie also beispielsweise Name Ort Huber München Maier Köln angeben, werden in der Liste nur die eingetragenen Personen angezeigt, die Huber heißen und in München wohnen oder die Maier heißen und in Köln wohnen. Ein Huber aus Köln wird nicht aufgelistet. Sie können auch das Ergebnis einer Formel als Suchkriterium verwenden. Geben Sie in diesem Fall als Kriterienbeschriftung nichts an. Wenn Sie im Kriterienbereich über der Liste als Suchbedingung etwa =C5=HEUTE() festlegen, zeigt Excel alle Zeilen, die in Spalte C das heutige Datum enthalten. In der Formel, die Sie zum Festlegen einer Suchbedingung verwenden, geben Sie als Bezug das entsprechende Feld im ersten Datensatz an. Im obigen Beispiel enthält die Zeile 5 den ersten Datensatz der Liste, die Spalte C die Daten, nach denen gefiltert werden soll. Zum Filtern führen Sie folgende Schritte durch: Klicken Sie auf eine beliebige Zelle in der Tabelle, und wählen Sie "Daten, Filter, Spezialfilter". Wenn Sie die Option "Liste an gleicher Stelle filtern" auswählen, filtert Excel die Tabelle, indem es die Zeilen ausblendet, die nicht den Filterkriterien entsprechen. Wenn Sie "An eine andere Stelle kopieren" aktivieren, können Sie die gefilterten Zeilen in einen anderen Tabellenbereich kopieren. Im selben Dialog geben Sie als "Kriterienbereich" die Zellen an, in denen Sie die Filterkriterien festgelegt haben. IN LISTEN SUCHEN (III) Mit Hilfe von Datenmasken suchen In manchen Fällen ist es komfortabler, mit Hilfe einer Datenmaske zu suchen. Markieren Sie dazu die Liste, wählen Sie "Daten, Maske", und klicken Sie auf die Schaltfläche "Suchkriterien". In der Maske können Sie jetzt die Suchkriterien festlegen. Wenn Sie Text eingeben, sucht Excel nach allen Elementen, die mit diesem Text beginnen. Wenn Sie nur genau übereinstimmende Einträge finden wollen, geben Sie vor dem Suchtext ein Gleichheitszeichen ("=") ein. Auch hier können Sie wieder Stellvertreterzeichen verwenden (siehe "Grundlagen"). Mit "Nächsten suchen" oder "Vorherigen suchen" starten Sie die Suche.

PC-WELT Marktplatz

0 Kommentare zu diesem Artikel
725955