Kombinationen für Mitglieder in Besprechungen (Microsoft Excel)
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:
-
Wählen Sie das Schlüsselelement aus, das Sie überprüfen möchten, und verschieben Sie es an den Anfang Ihrer Datentabelle.
-
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.
-
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.
-
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.
-
Wiederholen Sie die Schritte 3 und 4, bis alle Besprechungstermine sortiert wurden.
-
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: