Clever-Excel-Forum

Normale Version: Datenüberprüfung mittels benutzerdefinierter Formel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Grüß' euch!

Ich habe das DVD-Verzeichnis unseres Internats auf den Server gestellt.

Im Blatt "HIER EINTRAGEN" wird mittels Datenüberprüfung mit der Formel

=ZÄHLENWENN(Verzeichnis!A:A;$C5)

in C abgefragt, ob die DVD-Nr. überhaupt existiert. Andernfalls erscheint die Fehlermeldung "DVD existiert nicht!"

Nun möchte ich, das zusätzlich geprüft wird, ob die Zahl, die der User in C (DVD-Nr.) einträgt, bereits schon einmal in C vorkommt und in E (Name - zurückgegeben) noch nichts eingetragen ist. Dann lasse ich die Fehlermeldung "DVD existiert nicht oder ist bereits verliehen!" erscheinen.

Wie kann ich die Formel dahingehend ergänzen?

Grüße
Uwe
Hallo Uwe,

zeig uns bitte eine Beispieldatei (.xlsx - keine Bilder!) mit deiner bisherigen Datengültiigkeit. Der Aufbau deiner Beispieltabelle muss deinem Original entsprechen. https://www.clever-excel-forum.de/Thread...ng-stellen
Hola,

die Erweiterung heißt Zählenwenns().

Gruß,
steve1da
Ja stimmt, hier isse... fast original, stark abgespeckt und anonymisiert:

[attachment=37686]
Hallo Steve,

mit ZÄHLENWENNS kommt man hier, glaube ich, nicht weiter. Kann man das mit einer anderen Funktion koppeln? Das ist mir leider schon zu komplex. Bin als Pädagoge an der Stelle Laie.

1) Eine Fehlermeldung soll aufpoppen, wenn die DVD-Nr., die man eingetragen hat, nicht im Verzeichnis vorhanden ist,

2a) die Nr. in der Spalte, in der man sie eingetragen hat, schon einmal eingetragen

2b) und noch nicht in Spalte E ausgetragen wurde.

Die erste Bedingung habe ich mit der obigen Formel erfüllt. Aber wenn eine DVD existiert, aber gerade verliehen ist, trägt man sich umsonst ein und fährt umsonst in die Verwaltung, um sich die DVD zu holen.
Hallo CaptainNemo,

mit folgender Formel für die Datenüberprüfung in C5 sollte das funktionieren:
=ZÄHLENWENN(Verzeichnis!A:A;$C5)*((ZÄHLENWENN($C$5:$C$100;$C5)-ZÄHLENWENNS($C$5:$C$100;$C5;$E$5:$E$100;"<>"))=1)

Gruß
Fred
Wow! Ihr habt's drauf. Fred auf jeden Fall! Hoffentlich kriege ich mit, wenn mal ein Treffen stattfindet. Wenn es nicht zu weit weg ist, kann ich mich mal revanchieren und euch betreuen. Smile

Ich habe die Datenüberprüfung einfach bis Blattende gesetzt. Außer die Bereiche in der Formel. Statt $C$5:$C$100 habe ich $C$5:$C$1000 reingeschrieben und in der E-Spalte genauso. Das reicht, weil ich immer wieder vollgeschriebene Zeilen lösche (und archiviere). Oder könnte man - nur zur Info - auch 1.000.000 nehmen? Oder bremst das? Im ersten Teil der Formel geht stattdessen einfach $C5. Im hinteren Teil blöderweise nicht.

Jedenfalls haben wir jetzt ein richtiges, automatisches DVD-Management. Da unsere Einrichtung sehr dezentral organisiert ist, ist das eine große Hilfe. Bis vor zwei Monaten lag in der Verwaltung, wo sich auch die gut 500 DVDs befinden, eine Liste. Und wehe, man hatte sich vergessen einzutragen. Aber auch für die "Wartung" der Liste und das einpflegen von neu erworbenen DVDs ist das praktischer, seit ich das Jedöns auf den Server verlagert habe. Unser Haus, also eigentlich ich, hat die Betreuung der Videothek von der Verwaltung übernommen.

Gruß
Uwe
Hallo CaptainNemo,

also statt $C$5:$C$1000000 würde ich dann doch eher die ganze Spalte C:C verwenden.
Es kann schon sein, dass das deine Tabelle dann verlangsamt.
Aber so genau kann ich dir das jetzt auch nicht sagen, ich denke, das hängt generell auch von den verwendeten Funktionen ab; manche haben keine Performance-einbußen, wenn ,man die komplette Spalte verwendet, andere (Matrixformeln auf jeden Fall) schon…. - und ich weiss auch nicht, wie bzw. ob sich das bei Formeln innerhalb der Datenüberprüfung auswirkt....
Das müßtest du halt ausprobieren

Oder du verwendest intelligente Tabellen.
Ob/wie hier die Datenüberprüfung mit benutzerdefinierten Formeln mit strukturierten Verweisen funktioniert, weiss ich aber so spontan auch nicht…

Gruß
Fred
Hab' jetzt jew. die ganze Spalte genommen, so kann ich auch unendlich Zeilen löschen und es ändert sich nichts! Geht vielleicht sogar schneller? Jedenfalls ist bei der Geschwindigkeit kein Unterschied zu merken, geht prompt, und da dies ein Pädagogen-PC ist, glaub mir, der hat die Langsamkeit neu definiert! Wenn der hochfährt, kannst du erstmal gechillt einen Spaziergang machen und anschließend Kaffee trinken. Weil ich mal gemotzt habe, hat unser IT-Mann vorgeschlagen, SSDs einzubauen. Aber an der Rechenleistung ändert das ja nix. Mit meiner Dienstplan-Vorlage rechnet er je länger, je voller sie wird. Ist allerdings auch ein rechenintensiver VBA-Code drin. Für unseren PC! Eigentlich lachhaft. Aber für uns reicht der eigentlich.

Letzte und endgültige Version (Zelle C40 entnommen):

=ZÄHLENWENN(Verzeichnis!A:A;$C40)*((ZÄHLENWENN(C:C;$C40)-ZÄHLENWENNS(C:C;$C40;E:E;"<>"))=1)

Wenn ich dran denke, stoppe ich mal wenn ich den morgen hochfahre.

Übrigens: Bei unserer Excel-Version fehlt das Steuerelement "Date and Time Picker". (Bei Word übrigens nicht.) Aber auch wenn ich das einbauen würde und das Excel eines anderen PCs hat das nicht, dann funktioniert es dort auch nicht, oder?
Nachtrag: 48 Sekunden bis der Sperrbildschirm erscheint, dann nach dem einloggen 1:44 Minuten bis dieser verschwunden und die Taskleiste voll ist und weitere 5 Minuten, bis der Rest nachgeladen ist, bis die Festplatte einigermaßen Ruhe gibt. Öffne ich davor z.B. Excel, kann ich auch erstmal locker 15 bis 20 Sekunden Däumchen drehen.