Datenüberprüfung - Erlaube, dass die Zelle in der Nähe nicht leer ist

26066
user190280

Ich versuche, ein "Kommentar" -Feld in einem Arbeitsblatt für Fehlerprüfungen zu erstellen, das nur verwendet werden kann, wenn bestimmte Fehler als vorhanden gekennzeichnet sind. (indem Sie eine ganze Zahl in die entsprechende Zelle schreiben)

Ich habe eine Reihe von Permutationen ausprobiert, aber alle geben einen Fehler aus, unabhängig davon, in welchem ​​Zustand sich die referenzierten Zellen befinden.

Ich habe versucht AND(S3<>"",W3<>""), COUNT(S3,W3)>0, COUNTBLANK(S3,W3)=0, und AND(NOT(ISBLANK(S3)),NOT(ISBLANK(W3)))als benutzerdefinierte Datenvalidierung, mit und ohne „Ignorieren blanks“ geprüft.

Fehlt mir etwas? Ist das nicht ohne VBA möglich? (Im Idealfall möchte ich nicht, dass meine Kollegen jede Woche auf Makros klicken müssen.)

0
Um sicher zu gehen, dass ich es verstehe, möchten Sie eine Formel, die das Bearbeiten einer bestimmten Zelle nicht zulässt, wenn sich in einer bestimmten, anderen Zelle kein Inhalt befindet. K.A vor 11 Jahren 0
Ich möchte eine benutzerdefinierte Überprüfung der Datenüberprüfung, mit der ich einen Benutzer daran hindern kann, das Kommentarfeld zu bearbeiten, wenn sich in der Nähe der Zellen kein Wert befindet. (Die Formel sollte also mit "wahr" oder "falsch" bewertet werden.) Das Problem, das ich anscheinend bekomme, ist, dass die Datenvalidierung IMMER als falsch ausgewertet wird, auch wenn dies offensichtlich nicht der Fall ist. BEARBEITEN: Ich habe dieses Problem immer noch mit IF (ODER (NICHT (ISBLANK (S3)), NICHT (ISBLANK (W3)), 1,0). user190280 vor 11 Jahren 0
Sie können dies mit VBA tun, ohne dass Menschen auf Makros klicken müssen. Verwenden Sie ein Worksheet_change-Ereignis, um zu überwachen, ob eine Kommentarzelle geändert wird, und überprüfen Sie, ob das zugehörige Datenfeld leer ist oder nicht. Wenn sie sich alle in einem Standardlayout befinden (Daten in Spalte 3, Kommentarspalte 5), ist dies ziemlich einfach. Nick Perkins vor 11 Jahren 0
@pnuts Ich war mir dessen nicht bewusst, danke, dass du mich darauf aufmerksam gemacht hast :) Shekhar vor 11 Jahren 1

4 Antworten auf die Frage

1
pnuts

Pending clarification of requirement, the following might suit:

=NOT(AND(ISBLANK(S3),ISBLANK(W3)))

with Ignore blank UNchecked.

SU536862 example

Sieht gut aus und ähnelt meiner Antwort, die ich später gepostet habe. Deine war zu der Zeit nicht auf. :) Nick Perkins vor 11 Jahren 1
@NickPerkins Ich habe Postings zu identischen Zeiten bekannt - kann Probleme verursachen! Sogar nahe kann ein Thema sein (obwohl ein bestimmtes Beispiel, an das ich gedacht habe, scheinbar verschwunden ist). Liebenswürdig von dir. pnuts vor 11 Jahren 0
Es sieht so aus, als sollte es die richtige Lösung sein, aber ich habe immer noch Probleme damit. Ich kann mir vorstellen, dass dies der Grund ist, warum die anderen Lösungen auch nicht funktionieren. Danke trotzdem für deine Hilfe! Ich gehe einfach zu meinem Backup-Plan und verwende die Eingabemeldung, um unnötige Kommentare abzuwenden. ;) user190280 vor 11 Jahren 0
@ user190280 Einige von dem, was Sie versucht haben, sieht für mich so aus, als hätte es nicht funktioniert. Natürlich liegt es an Ihnen, wann Sie „Zeit anrufen“, aber wenn Sie möchten, können wir den schwierigen Teil erledigt haben, und ich kann Ihnen versichern, dass das Ergebnis in der von Ihnen gewünschten Richtung erreichbar ist. Wenn Sie es "durchschauen" wollten, könnten Sie beispielsweise überprüfen, dass Ihre Testzellen wirklich leer sind und nicht beispielsweise durch ein oder mehrere Leerzeichen belegt sind oder eine Formel, die "" ausgibt. pnuts vor 11 Jahren 1
1
Ricardo Souza

Ich habe etwas ähnliches zu dieser Arbeit gemacht - ich musste eine Fehlermeldung anzeigen, wenn 3 bestimmte Zellen leer waren. Hier ist die Validierung, die ich verwendet habe (mit Leerzeichen ignoriert):

=NOT(OR(ISBLANK(A2),ISBLANK(J1),ISBLANK(J2))) 

Das heißt, wenn entweder Zelle A2, Zelle J1 oder Zelle J2 leer ist, dann

OR(ISBLANK(A2),ISBLANK(J1),ISBLANK(J2)) 

gibt TRUE zurück und daher

NOT(OR(ISBLANK(A2),ISBLANK(J1),ISBLANK(J2))) 

gibt FALSE zurück, wodurch die Warnmeldung ausgelöst wird.

Hoffe das hilft!

0
Nick Perkins

Ich habe festgestellt, dass dies für mich funktioniert

Screenshot of Validation dialog

Wenn E8 leer ist, können Sie auch nichts aus der validierten Zelle löschen. Ich konnte es jedoch nicht mit "Ignore blank" zum Laufen bringen.

TQ. Aber wissen Sie wirklich, was das OP will? (Das ist nicht sehr facettenreich, ich bin es nicht!) Auch (abgesehen von!) denke ich, dass es ein Paar Triggerzellen gibt, S3 und W3, nicht nur E8. pnuts vor 11 Jahren 0
@Pnuts ja nicht 100% sicher aber dachte es könnte richtig sein. Und wenn es ein Paar Zellen gibt, dann ist die andere Antwort viel besser :) Nick Perkins vor 11 Jahren 0
Nick, nur eine Randbemerkung: Anstelle von = = IF (E8 = "", FALSE, TRUE) `können Sie einfach` = E8 <> "" "schreiben ;-) Peter Albert vor 11 Jahren 2
Sie können sicherstellen, dass das Löschen der validierten Zelle immer zulässig ist (und die Option "Leerzeichen ignorieren" nach Bedarf deaktiviert bleibt), indem Sie ausdrücklich eine leere Zeichenfolge in der Validierungsformel zulassen. Wenn die validierte Zellenadresse in Ihrem Beispiel beispielsweise F8 ist, lautet die Validierungsformel `= OR (F8 =" ", E8 <>" ")` blackworx vor 7 Jahren 1
-1
Patrick B

Eine Lösung, die effektiv erscheint und auch einfach ist, finden Sie unter:

https://trumpexcel.com/conditional-data-entry-in-excel/

Im Wesentlichen beinhaltet dies das Deaktivieren von "Leerstellen ignorieren" und das Festlegen, dass die Referenzzelle nicht leer ist. Wenn beispielsweise eine Zelle in Spalte C Eingaben nur akzeptieren soll, wenn in Spalte B ein Wert angegeben ist, wird die Validierungsformel für Zellen in Spalte C angezeigt könnte sein = $ B1 <> ""