Hier ist meine Situation: Ich erstelle ein Blatt mit 9 Gruppierungen von 3 Listen, wobei die ausgewählten Elemente alle in Listen enthalten sind, die über die Datenvalidierung erstellt wurden. Was ich tun muss, ist eine Punktzahl zu jeder dieser 3er - Gruppen hinzuzufügen, wenn die 3 aus der Datenüberprüfungsliste getroffenen Entscheidungen eindeutig von den in früheren 3er - Gruppierungen getroffenen Entscheidungen sind gleiche Auswahl, sie werden immer für einander eindeutig sein).
Angenommen, Sie haben in Gruppe 1 Blau, Grün und Lila. Geben Sie den Wert 1 an, da die Auswahlmöglichkeiten eindeutig sind. In Gruppe 2 haben Sie Orange, Gelb und Pink - geben Sie dem Wert 1, da die Auswahlmöglichkeiten eindeutig sind. So weiter und so fort, sagen Sie jedoch in Gruppe 9, Sie haben Magenta, Rot und Lila - diese Gruppe wird 0 Punkte bekommen, da es nicht völlig eindeutig ist (Lila wurde in Gruppe 1 gewählt). Beachten Sie, dass die Auswahl zu unterschiedlichen Zeiten erfolgt und in diesen getrennten Intervallen erfolgt. Wenn also Gruppe 2 nur mit Gruppe 1 verglichen wird, vergleicht Gruppe 3 sowohl mit Gruppe 1 als auch mit Gruppe 2 und so weiter.
Ich habe eine Formel ähnlich der folgenden ausprobiert:
=IF(NOT(B1:B3=A1:A3),1,0)
In der Zelle wurde jedoch #VALUE!
anstelle von 1 oder 0 eine Punktzahl angezeigt . Ich frage mich, ob ich jede Zelle einzeln ausführen muss. Wenn der Inhalt der Zelle B1 also nicht mit dem Inhalt in A1, A2 oder A3 übereinstimmt, überprüfen Sie dies Der Inhalt von Zelle B2 und wenn sie nicht gleich dem Inhalt von Zellen A1, A2 oder A3 sind, dann prüfe den Inhalt von Zelle B3 und wenn sie nicht gleich dem Inhalt von A1: A3 sind, dann ist der Wert dieser Liste 1 Wenn ich dies einzeln tun muss, haben Sie eine Idee, wie ich die Formel formulieren würde? Wäre es so etwas wie:
=IF(NOT(A1:A3=B1,NOT(A1:A3=B2,NOT(A1:A3=B3),1,0)))
Kann man das überhaupt in Excel machen?
Ich verwende die aktuellste Version von Excel (Office 365) mit Windows 10. Vielen Dank im Voraus für jede Hilfe.
quelle
Antworten:
Schritt für Schritt (um zukünftige Leser zu unterstützen)
Verwenden Sie die Funktion,
COUNTIF()
um festzustellen, ob ein Bereich einen Wert enthält. IOW, um zu überprüfen, ob der WertB1
in range vorkommtA1:A3
, können Sie schreibenwas Sie durch Vergleichen mit 0 zu einem booleschen Ergebnis machen können (Bedeutung
B1
ist nicht inA1:A3
)Sie müssen dies aber auch überprüfen
B2
undB3
treten nicht in aufA1:A3
. Sie können dieAND()
Funktion dafür verwenden:das wird Wahr zurück , wenn keiner
B1
,B2
undB3
tritt inA1:A3
. Damit wir diese Funktion zeilenweit kopieren und den zu überprüfenden Bereich anpassen können, ändern wir den Verweis auf die erste Zelle in einen festen Spaltenverweis,A1:A3
->$A1:A3
. Wenn wir die Formel nach rechts kopieren, wird wachsen , um die Reichweite zu$A1:B3
,$A1:C3
und so weiter , um schließlich$A1:I3
für die neunte SpalteDie obige Formel gibt ein boolesches Ergebnis zurück,
True
oderFalse
. Sie haben angegeben, dass Sie 1 oder 0 benötigen, was mit der Hinzufügung einerIF()
Funktion um die vorherige Formel problemlos möglich ist .Wir können jetzt die Formel in cell
B4
as schreibenDann in Zellen kopieren
C4:I4
Da nach Ihrer Definition jede Dreiergruppe für sich einzigartig ist und keine Formel erforderlich ist
A4
, können Sie sie einfach auf 1 setzen.Aktualisieren
Hinweis! Leere Zellen in einem Bereich wie dem
C1:C3
führen zu 1. Sie haben ihn nicht angegeben, möchten aber möglicherweise, dass eine Gruppe mit fehlenden Werten stattdessen 0 zurückgibt. Sie können das tun , indem Sie eine vierte Amtszeit zum Hinzufügen vonAND()
Funktion:COUNTBLANK((B1:B3)=0
. Der Eintrag inB4
wäre dannvor dem Kopieren in Zellen
C4:I4
quelle