10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Gert Seler »

Hallo Elektriker,
setzte in A1 vor die 10 das = (Bspl:=10+11+7+8) und die Zahlen werden in A1 summiert (36).
Die Berechnung in B1 ist überflüssig und funktioniert nicht.


mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Karolus »

Hallo
Falls es für dich zu schwierig ist, die Einzelwerte in B1 mit einem vorangestellten Gleichheitszeichen einzugeben, und dir in A1 die Formel anzeigen zu lassen :
=FORMEL(B1)

dann versuchs mal damit:

Code: Alles auswählen

Sub auswertung_in_Nachbarzelle
'berechnet den Ausdruck der selektierten Zelle in der rechten Nachbarzelle
osheet = thiscomponent.currentcontroller().activesheet
With thiscomponent.currentselection()
	oformel = .string
	orow = .getcelladdress.row
	ocol = .getcelladdress.column
end with
osheet.getcellbyposition(ocol + 1 , orow).formula = "=" & oformel
End Sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Karolus »

Hallo Bernd
Eine Calczelle kann eben nur eine Formel enthalten und das daraus resultierende Ergebnis.
= "=" & A1
ist schon die Formel mit dem Ergebnis:
='Inhalt von A1'
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Karolus »

Hallo Bernd
Starte das Makro per Tastatur-shortcut , diese Tastenkombi nimmst du anstatt 'enter' zum Abschluss der Eingabe.
http://www.ooowiki.de/MakrosMitEinemKlick
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Gert Seler »

Hallo Bernd,
Karolus hat bereits erwähnt, das in 1ner Zelle nur 1Wert oder 1Formel beinhalten kann ! ! !
Du solltest uns schon einmal erklären, welche verschieden Werte Deine Formel enthält. Zum Beispiel "Länge + Breite + Höhe + Gewicht"
und was hier überhaupt berechnet wird.
Nur dann ist eine effektive Hilfe möglich.
Im Moment stochere ich jedenfalls im Nebel herum.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Charly »

Hallo Elektriker!

Ich würde diese Aufgabe mit einer selbstgestrickten Funktion lösen. Dazu muss zwischen deinen Werten eine zusätzliche Spalte eingefügt werden,in der die Funktion steht. Diese Spalte kann ausgeblendet werden. Dann stört sie nicht beim Ausdruck.

Ich habe mal auf die Kürze ein Calc-Dokument in dieser Form erstellt. Vielleicht kannst du damit leben.
Die Funktion lautet =rechnen(gewünschte Zelle).

Der Code der Funktion ist:

Code: Alles auswählen

function Rechnen(Inhalt)

Doc = ThisComponent
Teil = split(Inhalt, "+")
Z = ubound(Teil)
Summe = 0
For I =0 to z
Summe = Summe + Val(Teil(I))
next
Rechnen = Summe

End function
gruß
charly
Dateianhänge
Mehrfach_Additon.ods
(8.44 KiB) 26-mal heruntergeladen
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Charly »

Hallo Elektriker!

Elektriker hat geschrieben: Kann deine Funktion nicht so abgeändert werden.
Schleife solange Spaltennummer größer 2 (dort steht die Positionsnummer und die Bezeichnung)
Berechne Zelleninhalt
Addiere Zelleninhalt zum vorherigen Ergebnis
nächsten Zelleninhalt bearbeiten (Schleifenanfang)
Dieser Wunsch ist schwer zu erfüllen. Das Problem ist, dass man bei der benutzerdefinierten Funktion nur den Inhalt eines Objektes, nicht aber das Objekt selbst mitgeben kann. Das heißt bei der Abarbeitung der Funktion, weiß man nicht auf welchem Tabellenblatt und in welcher Zeile man sich befindet. Dies müsste man alles als Text-Parameter mitgeben. Das wiederum macht Probleme beim Kopieren der Function, da sich diese nicht an die aktuelle Zeile anpassen.
Elektriker hat geschrieben: und wie rufe ich eine Funktion in einer Zelle auf ? (=function meine_Berechnung)
Eine benutzerdefinierte Function wird mit "=" "dem Funktionsname" und in Klammern "die Parameter".
In unserem Fall, wenn deine Zahlen in der Zelle "B2" stehen wie folgt: =Rechnen(B2)
Wenn du meine Beispieldatei im vorigen Beitrag herunterlädst und die entsprechenden Spalten einblendest, kannst du das sehen.

Gruß
Charly
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Charly »

Hallo Elektriker!

Ich habe mir die Sache nochmals überlegt und versucht deinen Vorschlag zu verwirklichen.
Ich brauche jetzt keine Spalten mehr zwischen den Daten. Dafür brauche ich aber 3 Hilfspalten nach der Gesamtsumme, die aber auch ausgeblendet werden können.

In der anhängenden Calcdatei, sind die Daten auf die Spalten C bis H verteilt. Das Gesamtergebnis steht in der Spalte I. Die Hilfsspalten sind die Spalten J bis L.

Meine Funktion benötigt vier Parameter: der abzuarbeitende Bereich; Spaltenindex; Zeilenindex und Tabellenindex. Der Index bezogen auf die Zelle der Gesamtsumme. Bei meiner Funktion habe ich voraussgesetzt, dass die Daten immer in der Spalte C beginnen, sonst brauche ich noch einen 5. Parameter.

Wenn ich also die Zeile 2 abarbeiten will steht dort folgendes:

Zelle I2: =Rechnen(C2:H2;J2;K2;L2)
Zelle J2: =Spalte(I2)
Zelle K2: =Zeile(I2)
Zelle L2: =Tabelle(I2)

Schau dir die anhängende Datei, ob sie besser für deine Anforderung passt.

Gruß
Charly
Dateianhänge
Mehrfach_Addition.ods
(8.71 KiB) 38-mal heruntergeladen
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Gert Seler »

Hallo Elektriker Bernd,
es wäre natürlich wichtig zu wissen, ob das Format DIN A4 "Hoch" oder "Breit" sein soll. Wieviel Werte sind in 1er Zelle 3,4,5 oder mehr ?
Ebenso solltest Du Kabelgruppen wie z.B. Indoor, Outdoor, Feuchtraum usw bilden und entsprechende Vorlagen.

hab mal ne Vorlage erstellt in der jeder Wert in einer Zelle steht.

mfg
Gert
E_Kabel_Projekt_2008.ods
(11.07 KiB) 40-mal heruntergeladen
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Gert Seler »

Sorry,
so geht' s wenn man das Datei_speichern vergisst.
Hier neue Datei.

mfg
Gert
E_Kabel_Projekt_2008.ods
(11.44 KiB) 37-mal heruntergeladen
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
otto normal
Beiträge: 4
Registriert: Sa, 13.12.2008 16:07

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von otto normal »

Hallo Charly
ich bekomme beim Aufruf eine Fehlermeldung (#WERT!)
ansonnsten siehts gut aus.

Hallo Gert
Ich nutze das Querformat
In einer Zelle ist mal kein Wert und mal 50 Werte.
Durch den Automatischen Zeilenumbruch und die automatische Zellenhöhe passt sich das Aussehen an.
Ich Hänge mal eine Tabelle an
Die letzte rote Zeile sollte berechnet werden
PS
Musste mich leider mit anderem Namen registrieren um die Datei hochzulagen

Danke und Gruss
Bernd
Dateianhänge
Elektro 2BA.ods
Tabelle
(28.41 KiB) 42-mal heruntergeladen
MrMurphy
***
Beiträge: 66
Registriert: Mo, 12.06.2006 12:34

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von MrMurphy »

Hallo,
Das verdoppelt meine Anzahl der Seiten
Das verstehe ich jetzt nicht. Du willst 2 Spalten, in Spalte A die Formel im Klartext und in Spalte B das Ergebnis. Mit der vorgeschlagenen Lösung musst du doch nur noch etwas flexibel sein und gibst die Zahlen in Spalte B statt in Spalte A ein. Also:

In der Zelle A1 die Formel: "=TEIL(FORMEL(B1);2;(LÄNGE(FORMEL(B1))-1))"
und
in Zelle B1 dann deine Zahlen, die berechnet werden sollen, also "=10+11+7+8"

Als Ergebnis stehen in Spalte A die Zahlen "10+11+7+8" und in Spalte B das Ergebnis "36".

Und wenn du die Spalte A schon mit Formeln auffüllen willst, bei leeren Zellen in Spalte B aber keine Fehlermeldung erscheinen soll, nimmst du die erweiterte Formel:

=WENN(B1="";"";TEIL(FORMEL(B1);2;(LÄNGE(FORMEL(B1))-1)))

und trägst die so weit wie erforderlich in Spalte A ein. Also die Formel in Zelle A1 kopieren und dann die Zelle runterkopieren, damit die Formel sich an die jeweilige Zeile anpasst. Dadurch wird in der Spalte A erst etwas angezeigt, wenn in der gleichen Zeile der Spalte B etwas eingetragen ist.

In solchen Fällen hinterlege ich die Zellen der Spalte A, die bereits eine Formel enthalten, mit einer hellen Farbe, z. B. beige, damit ich sehe, welche Zellen bereits mit Formeln hinterlegt sind.

Gruss

MrMurphy
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Charly »

Hallo Bernd!

Wenn ich nachher Zeit habe werde ich mich an deiner Liste versuchen.

Allerdings müssten wir vorher das klären.
otto normal hat geschrieben: ich bekomme beim Aufruf eine Fehlermeldung (#WERT!)
Ich habe mein Dokument an zwei verschiedenen Computern getestet. Da hat alles funktioniert. Allerdings habe ich noch die 2.4 Version, während du bereits die 3.0 Version hast.

Ich weiß nicht, ob es daran liegt oder kann es sein, dass bei deinem OpenOffice die Makrosicherheit auf "hoch" oder "sehr hoch" eingestellt ist. In diesem Fall würde die Funktion deaktiviert werden. Sie funktioniert nur bei der Einstellung Mittel.

mfg
Charly
otto normal
Beiträge: 4
Registriert: Sa, 13.12.2008 16:07

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von otto normal »

Hallo Mr Murphy

Es geht beim Aufaddieren nicht nur um eine Zelle sondern um mehrere, daher funktioniert deine Lösung nicht.

Hallo Charly
Das mit den Sicherheitseinstellungen war das Manko
Vielen Dank für den Hinweis.
Deine Lösung funktioniert so. Die 3 Zellen kann ich ausblenden

Gruss und Danke
Bernd
Charly
*****
Beiträge: 450
Registriert: Di, 20.01.2004 13:14
Wohnort: München

Re: 10+11+7+8 sichtbar in Zelle in anderer Zelle aufaddieren

Beitrag von Charly »

Hallo Bernd!

Es freut mich, dass das Makro jetzt klappt.

Ich habe es jetzt auch in deine Liste eingebaut. Allerdings habe ich die Funktion umschreiben müssen. Die alte Version hat bei Kommabeträgen falsch gerechnet. Gleichzeitig habe ich den Anfang und das Ende des zu berechnenden Bereiches nicht mehr fest hinterlegt, sondern die Funktion liest die Daten aus der Funktionszelle aus.

Hinweis: Ich habe deine manuelle Summen-Berechnung zum Vergleich gelassen und eine weitere Spalte angefügt, die mir die Differenz zwischen deinen Werten und den Funktionswerten anzeigt. Diese beiden Spalten können natürlich gelöscht werden.
In Zeile 166 habe ich eine Differenz von 0,5. Weiter unten kommt es noch zu Differenzen, weil deine Vergleichsspalte dort als Text formatiert ist.

Ich hoffe jetzt ist alles in Ordnung. Ansonsten melde dich wieder.

Gruß
Charly
Dateianhänge
Elektro 2BA.ods
(42.16 KiB) 44-mal heruntergeladen
Antworten