MS Excel - Datenvalidierung

359
OpenTage

Ich bin auf der Suche nach einer Formel, die ich in Excel für das Datenüberprüfungstool verwenden kann.

Es gibt eine Art Feld, auf das ich Regeln anwenden möchte:

  1. Nur Zahlen & Symbole (kein Alpha)

Ich bin völlig ratlos, habe mehrere Google-Suchen ohne Erfolg versucht. Nur numerisch oder nur Text scheint einfach zu sein, aber nur einen Zeichentyp zu entfernen und die anderen beiden zu verlassen, erscheint schwierig.

Ich möchte dies über das Excel-Datenüberprüfungstool und nicht über ein Add-On durchführen.

Kann jemand helfen?

Gibt es vielleicht eine Möglichkeit, =AND(ISNUMBER(A1)die Zeichen anzugeben und dann aufzulisten, um sie zuzulassen? !@#$%^&*-()'";:/?.><,?

Versuch 1 Es muss einen besseren Weg als den folgenden geben. (Auch die Datenvalidierung in Excel lässt mich nicht lange genug eine Formel eingeben, um auch nur die Kleinbuchstaben des Alphabets zu berücksichtigen.)

=AND(ISERROR(FIND("a",N14)),ISERROR(FIND("b",N14)),ISERROR(F‌​IND("c",N14)),ISERRO‌​R(FIND("d",N14)),ISE‌​RROR(FIND("e",N14)),‌​ISERROR(FIND("f",N14‌​)),ISERROR(FIND("g",‌​N14)),ISERROR(FIND("‌​h",N14)),ISERROR(FIN‌​D("i",N14)),ISERROR(‌​FIND("j",N14)),ISERR‌​OR(FIND("k",N14)),IS‌​ERROR(FIND("l",N14))‌​,ISERROR(FIND("m",N1‌​4)),ISERROR(FIND("n"‌​,N14)),ISERROR(FIND(‌​"o",N14)),ISERROR(FI‌​ND("p",N14)),ISERROR‌​(FIND("q",N14)),ISER‌​ROR(FIND("r",N14)),I‌​SERROR(FIND("s",N14)‌​)) 

Versuch 2 Die folgenden Anweisungen funktionieren für Groß- und Kleinbuchstaben, aber nur wenn ein einzelnes Zeichen eingegeben wird, z. B. 'A', sobald Sie 'AB' eingeben, schlägt die Lösung fehl

= UND (N14 <> "a"), N14 <> b ", N14 <> c", N14 <> d ", N14 <> e", N14 <> f ", N14 <g, N14 <> h, N14 <> i, N14 <j>, N14 <k>, N14 <> l, N14 <> m> N14 <> n, N14 <> "o", N14 <> p, N14 <> "q", N14 <> "r", N14 <> "s", N14 <> t ", N14 <>" u ", N14 <> "v", N14 <> "w", N14 <> "x", N14 <> "y", N14 <> "z")

Update: Um zu klären, muss der Benutzer maximal 12 Zeichen eingeben können. zB '- $ 4000.00' (Ich füge LEN (N14) <13 hinzu

3

1 Antwort auf die Frage

1
Sam

Verwenden Sie die folgende Formel in Datenvalidierung, Benutzerdefiniert, Formel:
=OR(AND(CODE(A1)>90,CODE(A1)<97),CODE(A1)<65,CODE(A1)>122,A1="")
Sie erlaubt Zahlen und Interpunktion, jedoch nicht ein az. AZ
Wenn oder gibt "True" zurück.
Für mehr als ein Zeichen in einer Zelle:

=AND(OR(AND(CODE(A1)>90,CODE(H1)<97),CODE(A1)<65,CODE(A1)>122),NOT(ISNUMBER(LOOKUP(2^15,SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1))))) 

Was auch immer als erstes Zeichen oder in der Mitte geschrieben wird, wird es erkennen,
weil Code nur das erste Zeichen testet

Update
Um einfacher zu sein, benutzen Sie einfach:
=NOT(ISNUMBER(LOOKUP(2^15,SEARCH(CHAR(ROW(INDIRECT("65:90"))),A1))))

Hi Sam - Das funktioniert, wenn das erste Zeichen, das eingegeben werden soll, ein Alpha ist. Wenn Sie jedoch eine Zahl / ein Symbol und dann ein Alpha eingeben, z. B. '4cheese', führt dies nicht zu einem Fehler :( OpenTage vor 6 Jahren 0
Ich denke, OP wollte, dass Zeichenketten größer als nur ein Zeichen sind. Herb vor 6 Jahren 0
Epos! danke @Sam das ist perfekt :-) OpenTage vor 6 Jahren 0