Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnung CAS-Nummer

Berechnung CAS-Nummer
19.06.2015 20:49:39
Stefan
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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnung CAS-Nummer
19.06.2015 21:44:12
Sepp
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

Anzeige
Mit deinen Wunsch-Meldungen
19.06.2015 22:06:25
Sepp
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

Anzeige
Kleine Korrektur
20.06.2015 07:45:59
Sepp
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

Anzeige
AW: Kleine Korrektur
20.06.2015 13:51:27
Stefan
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ß

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

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

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

AW: und außerdem...
22.06.2015 08:45:55
Stefan
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

Anzeige
die gefragte CAS-Nr ist ok, ich würde jedoch ...
22.06.2015 12:42:28
der
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
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige