Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellenformatierung
#1
Grüße liebe Community,

ich bin mit meinen Nerven am Ende und wende mich daher an euch. Ich studiere Chemie und Physik und wie es in den Naturwissenschaften eben so ist, werden Experimente durchgeführt und aus ihnen Messdaten erhalten. Messdaten sind i.d.R. von einem messgerätbedingen Fehler abhängig. In einem Paper/Protokoll etc. sollen nun unteranderem diese Messdaten mit ihren zugehörigen Fehlern in Tabellen dargestellt werden. Da bei einer Messung die Messdaten allerdings stark in der Größenordnung variieren können

bsp.:
18 V
0.00000003 V bzw. 3E-8 V
0.0057 V bzw. 5.7E-3 V

sollen die Messdaten bevorzugt in der wissenschaftlichen Schreibweise, also als Vielfache einer 10er-Potenz dargestellt werden, sprich die E-Schreibweise. Fehler werden auf 1 bzw. 2 signifikante Stellen gerundet, da weitere Stellen keine sonderlich wichtigen Informationen mehr beitragen. Der zugehörige Messwert wird dann auf die signifikanten Stellen des Fehlers gerundet.

Bsp.:
0.0035944443 +/- 0.000035654 -> 0.003594 +/- 0.000036 bzw. (3.594 +/- 0.036)E-3
48954.43 +/- 343.32 -> 48950 +/- 340 bzw. (4.895 +/- 0.034)E+4

Wie man an den Beispielen nochmal sehen kann, fällt die Größenordnung von Messwert sowie Fehler unterschiedlich aus und sobald ich etwa 200 Messwerte habe, wird es sehr mühselig alle Werte einzelnd zu formatieren. Aus dem Grund habe ich mir überlegt wie ich die Formatierung mithilfe der Funktionen aus Word automatisieren kann. Dabei benutze ich zunächst die Formel

RUNDEN(F1;(-GANZZAHL(LOG(F1))+(1))),

um meinen Fehler auf zwei signifikante Stellen zu runden. Die column F soll hierbei den Fehler repräsentieren. Die Formel funktioniert folgendermaßen:
Sei mein Fehler F1=0.034564. Gewünscht sind zwei signifikante Nachkommastellen -> 0.035
LOG(F1) = -1.46
-GANZZAHL(LOG(F1)) = 2
-GANZZAHL(LOG(F1)) gibt mir also die erste von den führenden Nullen verschiedene Stelle an. Die 3 befindet sich an der zweiten Stelle hinter dem Komma. Nun möchte ich aber, dass er mir nicht eine sondern zwei signifikante Stellen ausgibt, wodurch ich auf -GANZZAHL(LOG(F1)) noch eine Eins addieren muss. Es folgt

RUNDEN(F1;(-GANZZAHL(LOG(F1))+(1)))

als Formel, um meinen Fehler auf zwei signifikante Stellen zu runden.

Als nächstes soll mein zugehöriger Messwert M1 diesselbe Anzahl an signifikanten Stellen besitzen wie mein Fehler. Ich nehme also die obige Formel und ersetze das erste F1 durch M1:

RUNDEN(M1;(-GANZZAHL(LOG(F1))+(1)))

Die Formel rundet also meinen Messwert auf dieselbe Anzahl an Stellen wie mein Fehler signifikante Stellen besitzt.  Sei mein Messwert 4.39439. Dann folgt aus der Formel/Funktion 4.3944. Soweit so gut. Jetzt kommt aber der Haken:
Mal angenommen mein Messwert lautet 4.3. So soll die Funktion mir 4.3000 ausspucken. Allerdings sagt Excels Standard Zahlenformat hier: 4.3000 = 4.3. Genau DAS will ich aber nicht. Excel soll bitte nicht meine Füllnullen löschen.
"Werte markieren Zahlenformat auf Zahl einstellen und die Anzahl an Nachkommastellen manuell anpassen" will ich hier aber nicht, weil das, wie bereits erwähnt, bei 200 Messwerten+Fehlern mühselig ist und ich das automatisch haben möchte.
Ich wünsche mir also das Zahlenformat dynamisch zu machen. Es soll mir bitte immer diesselbe Anzahl an Stellen bei meinem Messwert zeigen, wie mein Fehler sie auch bei den signifikanten Stellen besitzt ohne in Gottes Namen Füllnullen zu löschen.

Ich hoffe ihr versteht mein Anliegen und könnt mir helfen. Gerne nehme ich auch andere Möglichkeiten als die oben vorgestellten Formeln war.

Beste Grüße
sucharek
Antworten Top
#2
Hallo sucharek,

ich habs so verstanden:

Code:
="("&TEXT(RUNDEN(A1;(-GANZZAHL(LOG(B1))+1))*10^(-GANZZAHL(LOG(A1)));"0,"&WIEDERHOLEN("0";GANZZAHL(LOG(A1))-GANZZAHL(LOG(B1))+1))&" +/- "&TEXT(RUNDEN(B1;(-GANZZAHL(LOG(B1))+1))*10^(-GANZZAHL(LOG(A1)));"0,"&WIEDERHOLEN("0";GANZZAHL(LOG(A1))-GANZZAHL(LOG(B1))+1))&")E"&GANZZAHL(LOG(A1))


Angehängte Dateien
.xlsx   WBereich.xlsx (Größe: 9,2 KB / Downloads: 1)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Verrückt. Genau das habe ich gesucht! Danke dir! Magst du mir dein Code-gewurstel nocheinmal bitte erklären? Macht mich neugierig wie das funktioniert. Also insbesondere diese "Wiederholen" funktion. Der Rest ist eindeutig.
Antworten Top
#4
Hallo s...,

Ich habe den Text aus 7 Texten zusammengestellt.
Hierbei sind die Klammern, das "+/-" und das "E" in 3 Konstanten. Es bleiben noch die beiden Ziffernfolgen der Zahlen, der Exponent und das Vorzeichen des Exponenten falls er positiv ist.
Der Exponent wird durch den Messwert bestimmt, die Rundungsstelle durch den Fehlerwert und die Anzahl der darzustellenden Nachkommazahlen durch die Summe der beiden Werte.
Da die beiden Ziffernfolgen in der Zusammenstellung mit einer Vorkommastelle und gleich vielen Nachkommastellen angezeigt werden sollen, sind sie mit der Funktion "Text" gleich aufgebaut.

Und hier die Formeln von innen nach aussen erklärt:

A: = GANZZAHL(LOG(Wert))
ist die höchste Zehnerpotenz des Wertes und gleichzeitig der Exponent (letztes Element der Zeichenfolge).

B: =WENN(A>=0;"+";"")
Falls A negativ ist wird das Vorzeichen "-" direkt mit ausgegeben ein "+" wird ansonsten hiermit erzeugt.

C: = -GANZZAHL(LOG(Fehler)+1
Die von dir vorgegebene Rundungsstelle

ab hier steht die Zahl einmal für den Wert und weiter hinten für den Fehler:

D:= RUNDEN(Zahl;C)
Die gerundete Zahl

E: = D*10^-A
die gerundete Zahl wird durch die höchste Zehnerpotenz des Wertes geteilt anschliessend hat der Wert genau eine Vorkommastelle

F: = A+C
die Anzzahl der darzustellenden Nachkommastellen

G: = TEXT(E;"0,"&WIEDERHOLEN("0";F)
Die Zahl wird mit der Funktion "Text" formatiert mit einer Vorkommastelle ("0,") und F Nachkommastellen(WIEDERHOLEN("0";F))

insgesamt also in sieben Teilen:
="("&G(Wert) &" +/- "&G(Fehler)&")E"&B&A


ps. zu WIEDERHOLEN
Sie ist eine Textfunktion und wie der Name es schon "andeutet" wiederholt sie einen vorgegebenen Text n mal (aus WIEDERHOLEN("0";3) wird dann "000").
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • sucharek008
Antworten Top
#5
Danke für diese ausführlich Erklärung. Dann wäre meine nächste Frage noch: Wie kann ich das in eine Funktion, die "MESSWERT" heißen soll, verpacken? Sprich dann mit den beiden Variablen a :=Messwert und b := Fehler
Antworten Top
#6
Hallo s...,

erzeuge in der Funktion für meine fett geschriebenen Buchstaben Variablen (für G zwei) und schreibe die Zuweisungen (natürlich ohne ":") mit VBA-Funktionen anstelle von Excel-Funktionen.

Ganzzahl > Int
Runden > Round
Text > Format
Wiederholen > String
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste