Ich habe einen Satz mit zwei Spalten. Spalte F enthält eine Liste mit den Namen der geplanten Teilnehmer. Spalte C verwendet Match & Index, um die Namen der Teilnehmer anzuzeigen, wenn diese ihr Badge in Spalte A scannen. Mich interessieren die Spalten C und F.
Durch die bedingte Formatierung „eindeutig“ in den Spalten C und F kann ich Laufkundschaft daran erkennen, dass der Name, der in Spalte C angezeigt wird, nicht auf meiner Terminliste in Spalte F steht.
Ich möchte anstelle der Verwendung von Makros eine Formel finden, um die Walk-Ins (die Werte, die keine Duplikate sind) in eine separate Spalte mit dem Namen „Walk-Ins“ zu ziehen.
Der erweiterte Filter und die Formel „eindeutig“ funktionieren in diesem Fall nicht, da ich nach Werten suche, die nur einmal vorkommen. Warum? Denn wenn „John“ sowohl in Spalte C als auch in Spalte F vorkommt, dann erfassen der erweiterte Filter und die Formel „eindeutig“ einen einzelnen „John“ als eindeutigen Wert. Mein Interesse gilt allerdings nicht John, der in beiden Spalten vorkommt, sondern Paul, der in Spalte C, aber nicht in Spalte F auftaucht.
Kurz gesagt: Ich muss „keine Duplikate oder einzelne Werte“ identifizieren, keine eindeutigen Werte.
Vielen Dank im Voraus.
Die meisten von Ihnen haben verstanden, wonach ich suche, aber um Missverständnisse zu vermeiden, habe ich ein Beispiel beigefügt. In der Praxis zeichne ich die Laufkundschaft manuell in einer Spalte auf einem anderen Arbeitsblatt derselben Arbeitsmappe auf.
Antwort1
Wenn Sie über Office 365 Excel verfügen, können Sie mit Folgendem eine Liste mit Walk-Ins erstellen:
=LET(x,1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees),y,AGGREGATE(15,6,x,SEQUENCE(COUNT(x)))-1,INDEX(Attendees,y))
Attendees
und Scheduled
beziehen Sie sich auf die offensichtlichen Bereiche.
Wenn Sie frühere Versionen haben, funktioniert auch eine kompliziertere Formel. Es wäre aber hilfreich zu wissen, mit welcher Excel-Version Sie arbeiten.
Eine Möglichkeit wäre:
=INDEX(Attendees,AGGREGATE(15,6,1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees)-1,ROW(INDEX($A:$A,1):INDEX($A:$A,COUNT(1/ISNA(MATCH(Attendees,Scheduled,0))*ROW(Attendees))))))
die Sie ggf. alsArray-Formelctrlindem Sie + gedrückt halten shiftund gleichzeitig drücken enter. Wenn Sie dies richtig machen, setzt Excel Klammern {...}
um die Formel, wie in der Formelleiste zu sehen.
Bitte beachten Sie, dass in beiden Formeln -1
(wie in ) AGGREGATE(...)-1
die Kopfzeile des definierten Bereichs angepasst werden muss, um die INDEX
Funktion verwenden zu können. Die INDEX
Funktion betrachtet die Position im Array, während ROW
die absolute Zeilennummer des Standorts betrachtet wird. Wenn Ihre Bereiche anders als beginnen Row 1
, passen Sie diesen Faktor entsprechend an.
Antwort2
Beim Durchlesen Ihrer Beschreibung habe ich folgende Daten erstellt:
Paul kam herein, während andere ihre Teilnahme ankündigten. (Spalte A
ist nicht wichtig.)
Ich findeDer einfachste Weg wäre die Verwendung vonMATCH
. Beispielsweise D2
könnten Sie in Folgendes Folgendes verwenden:
=IFERROR(IF(MATCH(C2,F:F,0),"scheduled"),"WALK IN")
Als weiteren Ansatz könnten Siebedingte FormatierungFormel in Spalte C
:
=AND(NOT(IFERROR(MATCH(C1,F:F,0),0)),C1<>"", C1<>"attendees")
Wie Sie betonen, ist dies dieFormel für eine separate Spalte mit eindeutigen Werten(in diesem Fall nur Paul).
Dies ist eine Array-Formel (Array-Formeln werden eingegeben mitStrg+Umschalt+Eingabeanstelle der üblichen Eingabetaste).
Array-Formeln funktionieren nicht in Excel-Tabellenobjekten und funktionieren am besten, wenn ein bestimmter Bereich statt einer vollständigen Spalte angegeben wird (da sie tatsächlich Berechnungen für jede Zelle in dieser gesamten Spalte mit 1 Million Zeilen durchführen würden). Da also ein bestimmter Bereich vorzuziehen ist, kann die Wartung solcher Formeln mühsam sein.
Damit diese Formel funktioniert, ist außerdem eine zusätzliche Spalte erforderlich. Ich meine die Spalte „Walk-Ins“, die in der ersten Alternative oben beschrieben ist. Wenn Sie diese Alternative wählen, haben Sie also insgesamt zwei zusätzliche Spalten.
Wenn Sie es dennoch tun möchten, hier ist die Formel:
=IFERROR(
INDEX(
$C$2:$C$5,
SMALL(
IF(
$D$2:$D$5<>"WALK IN",
"",
ROW($D$2:$D$5)-MIN(ROW($D$2:$D$5))+1),
ROW(D2)-1)),
"")