Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nominelle Summenformel berechnen

Nominelle Summenformel berechnen
20.11.2003 18:42:37
Markus
Hallo allerseits,

ich habe folgendes Problem:

Aus einer Summenformel möchte ich die nominelle Masse einer
Verbindung berechnen (z.B. C10H8N3O4S2). Hierzu muß ich den
String dahingehend auslesen, daß ich erstens weiß, welche
Elemente vorhanden sind (in diesem Fall C,H,N,O,S) und zweitens,
in welcher Anzahl (10,8,3,4,2).

Habe verschiedenes ausprobiert, aber keine richtig funtionierende
Lösung gefunden. Wer weiß hier Rat oder hat sich schon einmal
mit demselben Problem rumgeschlagen ?

Gruß

Markus

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nominelle Summenformel berechnen
20.11.2003 19:06:24
th.heinrich
hi Markus,

was hast Du schon getestet, dann muss der fehler nicht neu erfunden werden ;-)

mein vorschlag DATEN-TEXT IN SPALTEN-FESTE BREITE.

gruss thomas
AW: Nominelle Summenformel berechnen
20.11.2003 19:13:56
PeterW
Hallo Thomas,

erklär doch bitte mal, wie das gehen soll? Ich krieg das so nicht hin. :-(

Gruß
Peter
AW: Nominelle Summenformel berechnen
20.11.2003 22:31:13
th.heinrich
hallo Peter,

kann mir nicht vorstellen, dass Du das nicht gebacken kriegst.

DATEN-TEXT IN SPALTEN-FESTE BREITE.

bei FESTE BREITE ist es moeglich per mouse click die SPALTENTRENNUNG vorzunehmen.

gruss thomas
War der Beitrag vielleicht etwas ironisch...
20.11.2003 22:54:51
Boris
Hi Thomas,

...gemeint?!?

Du willst doch nicht in der Tat jeden dieser Einträge auf diese manuelle Art und Weise trennen? Denn mal ist eine Zahl 2-stellig, dann wieder einstellig - und wahrscheinlich immer an anderer Position...

Grüße Boris
Anzeige
ironisch hin, ironisch her ;-)
20.11.2003 23:16:06
th.heinrich
hallo Boris, PeterW,

habe IMHO auf die frage von Markus geantwortet.

Ihr plant da natuerlich sofort weiter, aber weil ich selbst wenige KOMPLETTLÖSUNGEN bieten kann, versuche ich mit dem prob zu wachsen.

abwarten was Markus meint.

ciao thomas

ps. zieh mir jetzt Harald Schmidt rein
Iterative Lösung ;-)
21.11.2003 00:27:33
IngoG
Hallo zusammen,

hab mal eine Lösung gebaut, mit der der String von links nach rechts aufgelöst wird in element1, anzahl1, element2, anzahl2...

https://www.herber.de/bbs/user/2058.xls

Die lösung arbeitet immer mit dem noch vorhandenen reststring und kann beliebig nach rechts erweitert werden ( dafür immer die letzten vier spalten kopieren und rechts einfügen)

Es müssen zwischen 2 elementen immer zahlen stehen, da er sonst nicht weiss, ob es ein oder zwei elemente sind.

Da die lösung mit hilfsspalten arbeitet habe ich ein Blatt mit allen formeln und ein Blatt mit ausgeblendeten Restspalten angehängt

sollte eigentlich alles so funzen

Gruß Ingo

PS. Eine Rückmeldeung wäre nett...
Anzeige
AW: Iterative Lösung ;-)
21.11.2003 04:57:36
PeterW
Hallo Ingo,

hatte an etwas ähnliches gedacht aber den Gedanken verworfen weil nicht zwangsäufig Zahlen zwischen den Elementen stehen (H2SO4). :-(

Gruß
Peter
AW: Iterative Lösung ;-)
21.11.2003 08:37:33
Martial
Hallo zusammen

Ansatz: String charakterweise von hinten auslesen und prüfen, ob es Zahl oder Buchstabe ist (mit isNumeric(Ausdruck)). Dann Pakete bilden.

Kann mir jetzt leider den Code nicht gerade aus dem Hemdärmel schütteln ;-)

Gruss, Martial
Lösung für H2SO4
21.11.2003 10:26:17
Boris
Hi Peter,

ich häng die Antwort mal bei Dir an weil ich fast davon ausgehe, dass Markus hier nicht mehr vorbeischaut aber du möglicherweise Interesse daran hast...;-)

String steht in A2 (z.B. "H2SO4" oder auch "C10H8N3O4S2")
Dann für die Elemente folgende Array-Formel in B2 und weit genug nach rechts kopieren:

{=TEIL($A2;KKLEINSTE(WENN(ISTFEHLER(TEIL($A2;SPALTE($1:$1);1)*1);SPALTE($1:$1));SPALTE(A$1));1)}

Für die Anzahl in B3 und ebenfalls nach rechts kopieren (normale Formel):
=WENN(B2="";"";TEIL($A2;FINDEN(B2;$A2)+1;WENN(C2="";LÄNGE($A2)+1;FINDEN(C2;$A2))-FINDEN(B2;$A2)-1))

Solange Elemente nicht doppelt vorkommen (und das ist glaube ich nie der Fall - meine Chemie-Kenntnisse sind längs begraben;-) ) funktioniert diese Lösung.

Grüße Boris
Anzeige
AW: Lösung für H2SO4
21.11.2003 11:16:53
PeterW
Hallo Boris,

Interesse hab ich schon, danke für den Ansatz aber mit den mehrfach vorkommenden Elementen muss ich dich enttäuschen. In der organischen Chemie wimmelt es nur so davon. Kleines Beispiel aus dem täglichen Leben wäre C2H5OH - die Aminosäuren erspar ich uns lieber. ;-)

Gruß
Peter
Wäre doch gelacht...
21.11.2003 11:39:01
Boris
Hi Peter,

...wenn wir das nicht auch lösen könnten ;-)

Formel in B3 und nach rechts kopieren:

=WENN(B2="";"";TEIL($A2;FINDEN(B2;$A2;SUMMENPRODUKT(LÄNGE($B2:B2)))+1;WENN(C2="";LÄNGE($A2)+1;FINDEN(C2;$A2;SUMMENPRODUKT(LÄNGE($B2:C2)))-FINDEN(B2;$A2)-1)))

Jetzt muss aber gut sein...;-)

Grüße Boris
Anzeige
AW: Wäre doch gelacht...
21.11.2003 12:02:37
PeterW
Hallo Boris,

D3:E3 bleiben bei mir leer obwohl da eine 1 stehen müsste - hast aber recht, ist gut jetzt.

Gruß
Peter
AW: Iterative Lösung ;-)
21.11.2003 09:48:07
Markus
Hallo Ingo,

Deine Lösung ist genial (da drauf zu kommen hätte mich noch einiges
an Gehirnschmalz gekostet - wenn überhaupt). Funktioniert einwandfrei.

Nochmals danke. Du hast mir damit wirklich weitergeholfen.

Gruß

Markus
Danke für die Rückmeldung, verbesserung s.u., oT
21.11.2003 11:27:22
IngoG
.
Iterative Lösung Verbesserung?!
21.11.2003 10:36:41
IngoG
Hallo zusammen,

hab nochmal über das problem nachgedacht.
wenn man davon ausgeht, das die Bezeichnung der Elemente 1 oder 2 stellen lang sind muß man eine unterscheidungsmöglichkeit haben, ob 2 hintereinanderstehende Buchstaben 1 oder 2 Elemente bedeuten (wenn uU nicht hinter jedem element eine zahl folgt wie zB bei NaCl).

Dieses Problem habe ich in der neuen Lösung folgendermaßen umgangen:
wenn ein Element 2 Buchstaben besitzt muß der 2. Buchstabe in Kleinschrift geschrieben werden also zB Hg oder Pb

wenn das gewährleitstet ist, arbeitet das neue TAbleau einwandfrei (hoffe ich ;-)

zu dieser Frage kann aber nur Markus selbst etwas sagen...

https://www.herber.de/bbs/user/2064.xls


Gruß Ingo

PS. Eine Rückmeldung wäre nett...
Anzeige

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige