Berechnung CAS-Nummer

Bild

Betrifft: Berechnung CAS-Nummer
von: Stefan Pinnau
Geschrieben am: 19.06.2015 20:49:39

Hallo zusammen.
Ich habe den Programmanlauf im Kopf, kann aber leider kein VBA. Beginne erst mich einzulesen.
Könnte mir jemand helfen?
Ich würde gerne den Inhalt einer Zelle auf Zahlen überprüfen; diese nach Ihrer Wertigkeit zu ordnen/multiplizieren/und gegen die Prüfziffer vergleichen.
Das Ergebnis soll in der Nachbarzelle den Text
"OK" bei positiver Prüfung;
"Stimmt nicht" bei negativer Prüfung;
"PRÜFEN" bei keinem Inhalt.
Den mathematischen Vorgang findet man bei Wikipedia unter "CAS-Nummer".
Eine CAS-Nummer hat auch zwei Bindestriche.
Danke für die Unterstützung.
Stefan Pinnau

Bild

Betrifft: AW: Berechnung CAS-Nummer
von: Sepp
Geschrieben am: 19.06.2015 21:44:12
Hallo Steffan,
so?
Tabelle1

 ABC
1CAS-NummerPrüfung 
264-17-5OK 
37732-18-5OK 
450-78-2OK 
5501-77-7Falsch 
6   
7   

Formeln der Tabelle
ZelleFormel
B2{=WENNFEHLER(WENN(REST(SUMME(TEIL(LINKS(WECHSELN(A2;"-";""); LÄNGE(WECHSELN(A2;"-";"")-1)); SPALTE(A1:INDEX(A1:J1;;LÄNGE(WECHSELN(A2;"-";"")-1))); 1)*(LÄNGE(WECHSELN(A2;"-";"")-1)-SPALTE(A1:INDEX(A1:J1;;LÄNGE(WECHSELN(A2;"-";"")-1))))); 10)=RECHTS(A2;1)*1;"OK";"Falsch"); "")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


Bild

Betrifft: Mit deinen Wunsch-Meldungen
von: Sepp
Geschrieben am: 19.06.2015 22:06:25
Tabelle1

 ABC
1CAS-NummerPrüfung 
264-17-5OK 
37732-18-5OK 
450-78-2OK 
5501-77-7Stimmt nicht! 
6abcPrüfen! 
7 Prüfen! 
8   

Formeln der Tabelle
ZelleFormel
B2{=WENNFEHLER(WENN(REST(SUMME(TEIL(LINKS(WECHSELN(A2;"-";""); LÄNGE(WECHSELN(A2;"-";"")-1)); SPALTE($A$1:INDEX($A$1:$J$1;;LÄNGE(WECHSELN(A2;"-";"")-1))); 1)*(LÄNGE(WECHSELN(A2;"-";"")-1)-SPALTE($A$1:INDEX($A$1:$J$1;;LÄNGE(WECHSELN(A2;"-";"")-1))))); 10)=RECHTS(A2;1)*1;"OK";"Stimmt nicht!"); "Prüfen!")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Sepp


Bild

Betrifft: Kleine Korrektur
von: Sepp
Geschrieben am: 20.06.2015 07:45:59
CAS

 AC
1CAS-NummerPrüfung
264-17-5OK
37732-18-5OK
450-78-2OK
5501-77-7Stimmt nicht
6abcPRÜFEN
71234567-89-5OK
8 PRÜFEN
920-35-9OK
10501-77-9OK
11 PRÜFEN

Formeln der Tabelle
ZelleFormel
C2{=WENNFEHLER(WENN(REST(SUMME(TEIL(LINKS(WECHSELN(A2;"-";""); LÄNGE(WECHSELN(A2;"-";""))-1); ZEILE($A$1:INDEX($A$1:$A$10;LÄNGE(WECHSELN(A2;"-";""))-1)); 1)*(LÄNGE(WECHSELN(A2;"-";""))-ZEILE($A$1:INDEX($A$1:$A$10;LÄNGE(WECHSELN(A2;"-";""))-1)))); 10)=RECHTS(A2;1)*1;"OK";"Stimmt nicht"); "PRÜFEN")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


Bild

Betrifft: AW: Kleine Korrektur
von: Stefan Pinnau
Geschrieben am: 20.06.2015 13:51:27
Hallo Sepp,
vielen Dank.
Ich habe allerdings ein paar Migrationsprobleme.
Das Feld, in dem die CAS-Nummer eingegeben wird ist Teil einer kleinen Tabelle.
Ich würde gerne Fragen ob Sie sich per Mail melden könnten, dann kann ich Ihnen einen kleinen Screenshot senden um das Problem besser darzustellen.
meine lautet email@stefanpinnau.de.
Gruß

Bild

Betrifft: AW: Kleine Korrektur
von: Sepp
Geschrieben am: 20.06.2015 15:52:14
Hallo Stefan,
warum per Mail? Du kannst hie eine Beispieltabelle hochladen, dann wird das schon.

Gruß Sepp


Bild

Betrifft: und außerdem...
von: Sepp
Geschrieben am: 20.06.2015 18:48:58
... brauchst du in der Formel nur den Bezug A2 anpassen, alles andere bleibt wie es ist.

Gruß Sepp


Bild

Betrifft: AW: und außerdem...
von: Stefan Pinnau
Geschrieben am: 20.06.2015 20:03:34
Vielen Dank Sepp.
Es klappt.
Gruß
Stefan Pinnau

Bild

Betrifft: AW: und außerdem...
von: Stefan Pinnau
Geschrieben am: 22.06.2015 08:45:55
Hallo Sepp,
ich würde dich gerne um einen kleinen Gefallen bitten.
Bei der CAS-Nummer: 64742-82-1 gibt die Formel ein "Stimmt nicht" aus. Bei anderen CAS-Nummern, zb. 95-63-6 ein "OK". Die erste CAS-Nummer stammt von einem Sicherheitsdatenblatt und ist bei der ECHA auch zu finden. Stimmt die Nummer tatsächlich nicht? Ich kann mir nicht vorstellen das die zu lang ist.
Gruß
Stefan

Bild

Betrifft: die gefragte CAS-Nr ist ok, ich würde jedoch ...
von: der neopa C
Geschrieben am: 22.06.2015 12:42:28
Hallo Stefan,
... die Prüfungsformel etwas erweitern, denn fehlerhafte CAS-Nummern werden mit der bisher vorliegenden Formel nicht alle korrekt erkannt (siehe B12:B14).
Mein Formelvorschlag in E2 wird zwar etwas länger als die MATRIXformel, aber sie prüft auch etwas mehr auf evtl. fehlerhafte Schreibweisen bei einer vorhandenen TEXT-CAS-Nummer.
In Spalte G hab ich Dir zusätzlich aufgezeigt, wie man die Zellen mit CAS-Nummern formatieren könnte, wo man mittels benutzerdefinierten Zahlenformat #0"-"00"-"0;;; in Kombination mit der Datengültigkeit (Ganze Zahl kleiner 9999999999) eine einfache und schnelle Eingabe vornehmen kann und mittels Formel in H2 nachträglich "nur" noch prüfen muss, ob es sich um eine korrekte CAS-Zahl handelt.

 ABCDEFGH
1CAS-Nummer     CAS-Nummer mitPrüfung
2als TextPrüfung  Prüfung benutzerdef. Zahlenformat: #0"-"00"-"0;;;
364-17-5OK  ok 64-17-5ok
47732-18-5OK  ok 7732-18-5ok
550-78-2OK  ok 50-78-2ok
6501-77-7Stimmt nicht  stimmt nicht 501-77-7stimmt nicht
7abcPRÜFEN  prüfen   
81234567-89-5OK  ok 1234567-89-5ok
9 PRÜFEN      
1020-35-9OK  ok 20-35-9ok
11501-77-9OK  ok 501-77-9ok
121235-3-43OK  prüfen 1235-34-3ok
132-0-359OK  prüfen 20-35-9ok
1491234567-89-5OK  prüfen 1234567-89-5ok
1520-36-0OK  ok 20-36-0ok
1664742-82-1OK  ok 64742-82-1ok
17        

Formeln der Tabelle
ZelleFormel
B3{=WENNFEHLER(WENN(REST(SUMME(TEIL(LINKS(WECHSELN(A3;"-";""); LÄNGE(WECHSELN(A3;"-";""))-1); ZEILE($A$1:INDEX($A$1:$A$11;LÄNGE(WECHSELN(A3;"-";""))-1)); 1)*(LÄNGE(WECHSELN(A3;"-";""))-ZEILE($A$1:INDEX($A$1:$A$11;LÄNGE(WECHSELN(A3;"-";""))-1)))); 10)=RECHTS(A3;1)*1;"OK";"Stimmt nicht"); "PRÜFEN")}
E3=WENN(A3="";"";WENN((LINKS(RECHTS(A3;5); 1)&TEIL(RECHTS(A3;5); 4;1)="--")*(LÄNGE(WECHSELN(A3;"-";""))=LÄNGE(A3)-2)*ISTZAHL(-WECHSELN(A3;"-";""))*(LÄNGE(A3)<13); WENN(-REST(SUMME(INDEX(TEIL(TEXT(--WECHSELN(A3;"-";""); "0000000000"); {1.2.3.4.5.6.7.8.9};1)*(10-{1.2.3.4.5.6.7.8.9}); )); 10)=-RECHTS(A3;1); "ok";"stimmt nicht"); "prüfen"))
H3=WENN(G3="";"";WENN(-REST(SUMME(INDEX(TEIL(TEXT(G3;"0000000000"); {1.2.3.4.5.6.7.8.9};1)*(10-{1.2.3.4.5.6.7.8.9}); )); 10)=-RECHTS(A3;1); "ok";"stimmt nicht"))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
G3Ganze ZahlZellwert ist kleiner als 9999999999 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Berechnung CAS-Nummer"