Bob hat ein Arbeitsblatt mit Mitgliedsnamen auf der linken Seite und Monaten des Jahres oben. In jede Zelle des Rasters gibt er die Daten ein, an denen Sitzungen stattfinden, an denen das Mitglied teilgenommen hat. Bob sucht nach einer Möglichkeit, auf einen Blick zu erkennen, wer sich nicht mit wem getroffen hat.

Es gibt verschiedene Möglichkeiten, um eine Lösung für dieses Problem zu finden. Wenn Ihr Tischdesign flexibel ist, können Sie die Dinge „vereinfachen“, indem Sie die Anordnung Ihres Tisches ändern. Anstatt Monate über die Spalten zu verteilen, können Sie einfach festlegen, dass jede Spalte ein Besprechungsdatum ist.

Dann könnte jede Zelle eine Art Indikator (eine Zahl oder ein Zeichen) enthalten, der angibt, dass die Person an diesem bestimmten Datum an der Besprechung teilgenommen hat. Es wäre relativ einfach herauszufinden, wer sich nicht mit wem getroffen hat:

  1. Wählen Sie das Schlüsselelement aus, das Sie überprüfen möchten, und verschieben Sie es an den Anfang Ihrer Datentabelle.

  2. Sortieren Sie die Datentabelle horizontal in der Schlüsselelementzeile, sodass sich alle Besprechungen, an denen das Schlüsselmitglied teilgenommen hat, in den Spalten ganz links befinden.

  3. Sortieren Sie alle außer dem Schlüsselmitglied an den ersten drei Besprechungsterminen vertikal. Jeder, der das Schlüsselmitglied in diesen drei Besprechungen getroffen hat, befindet sich jetzt oben in der Datentabelle direkt unter dem Schlüsselmitglied.

  4. Gehen Sie in der Datentabelle nach unten und wählen Sie alle aus, die das Schlüsselmitglied noch nicht getroffen haben, und sortieren Sie nach den nächsten drei Besprechungsterminen.

  5. Wiederholen Sie die Schritte 3 und 4, bis alle Besprechungstermine sortiert wurden.

  6. Jeder, der am Ende der Datentabelle verbleibt (diejenigen, die in den Schritten 3 und 4 nicht ausgewählt wurden), hat das Schlüsselmitglied nie getroffen.

Wenn Sie das Format Ihrer Tabelle nicht ändern können, ist eine Makrolösung erforderlich. Es gibt viele Ansätze, die in einem Makro verwendet werden könnten, aber der folgende ist vielleicht der direkteste:

Sub PeopleNotMet()

Dim rTable As Range     Dim rOutput As Range     Dim iCols As Integer     Dim iCol As Integer     Dim iRows As Integer     Dim iRow As Integer     Dim iCompRow As Integer     Dim sNotMet As String     Dim sMet As String

Set rTable = Worksheets("Sheet1").Range("A1").CurrentRegion     Set rOutput = Worksheets("Sheet2").Range("a1")

sNotMet = "X"

sMet = ""



Application.ScreenUpdating = False     With rTable         iRows = .Rows.Count         iCols = .Columns.Count                  .Columns(1).Copy         With rOutput             .PasteSpecial             .PasteSpecial Transpose:=True             Application.CutCopyMode = False             Range(.Offset(1, 1), .Offset(iRows - 1, _               iRows - 1)).Value = sNotMet             Range(.Offset(1, 1), .Offset(iRows - 1, _               iRows - 1)).HorizontalAlignment = xlCenter         End With     End With     With rTable.Cells(1)

For iRow = 1 To iRows - 1             For iCol = 1 To iCols - 1                 For iCompRow = 1 To iRows - 1                     If Not (IsEmpty(.Offset(iRow, iCol))) Then                         If Not (IsEmpty(.Offset(iCompRow, iCol))) Then                             If .Offset(iRow, iCol).Value = _                               .Offset(iCompRow, iCol).Value Then _                               rOutput.Offset(iRow, iCompRow).Value = sMet                         End If                     End If                 Next             Next         Next     End With

Set rTable = Nothing     Set rOutput = Nothing     Application.ScreenUpdating = True End Sub

Dieses Makro setzt einige Dinge voraus. Zunächst wird davon ausgegangen, dass sich die ursprüngliche Datentabelle von Bob auf Blatt 1 befindet, beginnend in Zelle A1. Zweitens wird davon ausgegangen, dass sich die Tabelle „Wer hat sich nicht mit wem getroffen?“ Auf Blatt 2 befindet, beginnend bei Zelle A1. Wenn diese Annahmen korrekt sind, zeigt die in Sheet2 erstellte Tabelle beim Ausführen des Makros die Namen unten links und die Namen oben an. Die sich überschneidenden Zellen enthalten entweder nichts (was bedeutet, dass sich die Personen getroffen haben) oder ein großes X (was bedeutet, dass sie sich nicht getroffen haben).

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2304) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: