Werte erkennen in Zelle

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

da_wuTz
Beiträge: 3
Registriert: Fr, 04.05.2012 20:27

Werte erkennen in Zelle

Beitrag von da_wuTz »

Hallo Leute,

Ich habe mir vor kurzem mal die Funktionen angeschaut, die OO bereitstellt, ne ganze Menge, das ist toll, mein Problem ist, dass ich die vermeintlich "einfachen Dinge" nicht finde...

Meine Frage:
Ich habe die Zelle zB "=2+3+0+0+2+0" (=7) [0 steht in diesem Fall für eine verlorene Wette und alle anderen Zahlen für den Gewinn einer Wette...]
Kann OO erkennen, a)wie viele Nullen und b)wie viele Zahlen größer Null und c)wieviele Zahlen insgesamt in dieser Zelle sind?
Meine mathematischen Kenntnisse sagen mir, dass wenn zwei Möglichkeiten von abc gehen, auch die Dritte geht ^^

Danke für eure Hilfe,

da_wuTz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Werte erkennen in Zelle

Beitrag von Stephan »

Wenn die Formelzelle A1 ist ergibt z.B.:

=LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"+";""))+1

die Anzahl aller Summanden und:

=LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"0";""))

die Anzahl aller Summanden mit Wert 0.

Gruß
Stephan
theindless
*****
Beiträge: 355
Registriert: So, 09.05.2010 12:37

Re: Werte erkennen in Zelle

Beitrag von theindless »

Danke auch von mir Stephan...

Ich hatte mich dran versucht und bin gescheitert.

Aber deine Vorgehensweise ist bestimmt auch für andere Fälle gut zu wissen.
Wär ich nie drauf gekommen, über Länge zu gehen.

theindless
Lernbegieriger Nutzer mit (hoffentlich) steigendem Wissen
da_wuTz
Beiträge: 3
Registriert: Fr, 04.05.2012 20:27

Re: Werte erkennen in Zelle

Beitrag von da_wuTz »

Stephan hat geschrieben:Wenn die Formelzelle A1 ist ergibt z.B.:

=LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"+";""))+1

die Anzahl aller Summanden und:

=LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"0";""))

die Anzahl aller Summanden mit Wert 0.

Gruß
Stephan
In Zeile 10 habe ich folgendes Problem (bug?):

=(LÄNGE(FORMEL(F10))-LÄNGE(WECHSELN(FORMEL(F10);"+";""))+1)-(LÄNGE(FORMEL(F10))-LÄNGE(WECHSELN(FORMEL(F10);"0";""))) (=0, müsste aber =1 sein!)
während F10 aber so aussieht: =(1,35)-C10 (=0,35)

wenn F10 heißt =0-c10 kommt bei Längenformel Ergebnis =-1 statt =0 ?!?

Gleiches Problem in Zeile 19 und 20
Fehler? Ich kann keinen finden...
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Werte erkennen in Zelle

Beitrag von Stephan »

Fehler? Ich kann keinen finden...
ist jetzt aber nicht Dein Ernst das Du glaubst Du könntest ein- und dieselbe Formel für verschiedene Auswertungen nutzen? Wie willst Du denn irgendwas tun ohne überhaupt die Formel verstanden zu haben?

Die Formel ermittelt diue Anzahl der 'Teile' basierend auf der Anzahl der 'Trennzeichen', das war ursprünglich das +:

=2+3+0+0+2+0

=LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"+";""))+1

und muß natürlich jetzt das - sein:

=(1,35)-C10
=0-c10

=(LÄNGE(FORMEL(F10))-LÄNGE(WECHSELN(FORMEL(F10);"-";""))+1)-(LÄNGE(FORMEL(F10))-LÄNGE(WECHSELN(FORMEL(F10);"0";"")))


Gruß
Stephan
Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

Re: Werte erkennen in Zelle

Beitrag von OttoZ »

Hallo Stephan, vielen Dank für deine klasse Lösung.
Je mehr solcher Beiträge ich sehen darf, desto kleiner fühle ich mich.
mfG OttoZ

xxxxx....
Zuletzt geändert von OttoZ am So, 06.05.2012 16:31, insgesamt 1-mal geändert.
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Werte erkennen in Zelle

Beitrag von Stephan »

Je mehr solcher Beiträge ich sehe darf, desto kleiner fühle ich mich.
Dafür liegt kein Grund vor bzw. solche Lösungen beindrucken nur in ihrer Gesamtheit, nicht wenn man sie nachvollzieht, genauer gesagt verstehe auch ich viele Lösungen nicht wenn ich sie mir nicht herleite. Nur 'draufschauen' hilft da meist nichts.



Herleiten ist aber bei der jetzigen Formel einfach. Der Gedankengang ist.

Wenn ich ermitteln will wieviele 'Elemente' in der Formel:

=2+3+0+0+2+0

sind, sehe ich das diese Anzahl der Elemente offensichtlich gleich der Anzahl aller Pluszeichen plus 1 ist.

Die Anzahl der Pluszeichen muß aber offensichtlich die Differenz zwischen der Länge der Formel und der Länge der Formel ohne Pluszeichen sein.

Um die Länge der Formel zu ermitteln muß ich jedoch erstmal die Formel selbst ermitteln.


So, damit habe ich im Prinzip bereits die Lösung, denn ich muß nun alles nur noch hinschreiben, vom Ende beginnend. DAzu nutze ich bei der Formelentwicklung 'Hilfszellen' in welche ich Teillösungen schreibe:

die Formel selbst:
in B1 schreibe ich: =FORMEL(A1)

die Länge der Formel:
in B2 schreibe ich: =LÄNGE(B1)

die Formel ohne Pluszeichen:
in B3 schreibe ich: =WECHSELN(FORMEL(A1);"+";"")

die Länge der Formel ohne PLuszeichen:
in B4 schreibe ich: =LÄNGE(B3)

die Längendifferenz plus 1:
in B5 schreibe ich: = B2-B4+1


nun muß ich nur noch schrittweise ersetzen:
in B5 ersetze ich B2: =LÄNGE(B1)-B4+1
in B5 ersetze ich B4: =LÄNGE(B1)-LÄNGE(B3)+1
in B5 ersetze ich B3: =LÄNGE(B1)-LÄNGE(WECHSELN(FORMEL(A1);"+";""))+1
in B5 ersetze ich B1: =LÄNGE(FORMEL(A1))-LÄNGE(WECHSELN(FORMEL(A1);"+";""))+1



Gruß
Stephan
Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

Re: Werte erkennen in Zelle

Beitrag von OttoZ »

... thanks, ich hatte das durch Auflösung nachempfinden können.

Der Fragesteller schaffte statt des anderen Operanden noch ein weiteres Problem
wenn F10 heißt =0-c10 kommt bei Längenformel Ergebnis =-1 statt =0 ?!?
bei einer Adressnull mag das ja nun gerade hinkommen, wenn er es aber mit der Adresse c100 oder mit einer Adresse ohne Null probiert, geht es wohl daneben,
... ich wünsche allen einen schönen Sonntag,
mfG OttoZ
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Werte erkennen in Zelle

Beitrag von Gert Seler »

Hallo Zusammen,
@ Stephan : Recht herzlichen Dank für die einfache Erklärung der "Zusammengefassten Formeln" !

Wer sich weiter für das Thema interessiert findet hier Beispiele :

http://www.ooowiki.de/BestimmteW%C3%B6rterZ%C3%A4hlen
und http://www.ooowiki.de/W%C3%B6rterInZellenZ%C3%A4hlen

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Antworten