[de-users] Formeln, die sich auf Werte in der aktuelle Zeile/Spalte beziehen? (Konkretisierung)

2011-09-30 Diskussionsfäden El_Grande
Ich möchte meine Anfrage von vorhin hier nur konkretisieren:

Gibt es die Möglichkeit, eine Formel nach dem Muster =(A1*B1)/(C1*D1)
zu entwerfen, die sich aber nicht (wie im Muster) auf die Zellen A-D der
Zeile 1 bezieht, sondern auf die Zellen A-D der jeweils /aktuellen/ Zeile?

Ich suche nach einem Ausdruck, den ich z. B. in Spalte E in jede
einzelne Zelle setzen kann, so dass jeweils immer die Werte der Zellen
A-D links daneben (= dieselbe Zeile) zur Berechnung herangezogen werden.
Das wäre dann sowas wie

=(A{akt. Zeile}*B{akt. Zeile})/(C{akt. Zeile}*D{akt. Zeile})

Die Zelle, in der dieser Ausdruck steht, würde also den Wert erhalten,
der sich aus den Werten der in der gleichen Zeile daneben stehenden
Zellen A bis D gemäß der Formel (A*B)/(C*D) ergibt.

Und falls das möglich ist: gibt es dann auch noch eine Funktion, mit der
ich z. B. eine ganze Spalte oder Zeile (oder einen Bereich davon)
markieren kann und die Formel dann nur einmal eingeben muss, und sie
wird für jede Zelle im markierten Bereich übernommen-?

Sorry, wenn das jetzt umständlich war. Ich hoffe, mir kann trotzdem
jemand helfen.

Nochmals danke, und Grüße -

Thomas

-- 
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert



Re: [de-users] Formeln, die sich auf Werte in der aktuelle Zeile/Spalte beziehen? (Konkretisierung)

2011-09-30 Diskussionsfäden Christian Kühl

Hallo, Thomas!

Am 01.10.2011 02:06, schrieb el_gra...@kaffeeschluerfer.com:


Gibt es die Möglichkeit, eine Formel nach dem Muster
=(A1*B1)/(C1*D1) zu entwerfen, die sich aber nicht (wie im Muster)
auf die Zellen A-D der Zeile 1 bezieht, sondern auf die Zellen A-D
der jeweils /aktuellen/ Zeile?


Ja, gibt es (s.u.).


Ich suche nach einem Ausdruck, den ich z. B. in Spalte E in jede
einzelne Zelle setzen kann, so dass jeweils immer die Werte der
Zellen A-D links daneben (= dieselbe Zeile) zur Berechnung
herangezogen werden. Das wäre dann sowas wie

=(A{akt. Zeile}*B{akt. Zeile})/(C{akt. Zeile}*D{akt. Zeile})


In Zelle E1 kannst folgendes eingeben (eine Zeile ohne Leerstellen):

  =(INDIREKT(ADRESSE(ZEILE(A1);1))*INDIREKT(ADRESSE(ZEILE(A1);2)))
   /(INDIREKT(ADRESSE(ZEILE(A1);3))*INDIREKT(ADRESSE(ZEILE(A1);4)))

Mit INDIREKT() kannst du einen Zellbezug in Textform interpretieren.

Mit ADRESSE() kannst du einen Zellbezug als Zeilennummer / Spaltennummer
eingeben.

Mit ZEILE() kannst du über eine daneben liegende Zelle (z.B. A1) die
Zeile bekommen, die Spalte könnte man mit SPALTE() ebenso bestimmen,
hast du in deinem Beispiel ja aber vorgegeben.

Sowohl ADRESSE als auch INDIREKT besitzen weitere Optionen, die du
leicht selber nachlesen kannst, indem du den Funktionsassistenten
verwendest oder in der Hilfe nachsiehst.


Die Zelle, in der dieser Ausdruck steht, würde also den Wert
erhalten, der sich aus den Werten der in der gleichen Zeile daneben
stehenden Zellen A bis D gemäß der Formel (A*B)/(C*D) ergibt.

Und falls das möglich ist: gibt es dann auch noch eine Funktion, mit
der ich z. B. eine ganze Spalte oder Zeile (oder einen Bereich davon)
markieren kann und die Formel dann nur einmal eingeben muss, und sie
wird für jede Zelle im markierten Bereich übernommen-?


Durch kopieren der Formel in die Zellen E2 bis E* wird diese automatisch
für die jeweilige Zeile angepasst.


Sorry, wenn das jetzt umständlich war. Ich hoffe, mir kann trotzdem
jemand helfen.


War gut beschrieben, sodass ich sofort wusste, was du möchtest.

Gruß,
Christian.

--
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert



Re: [de-users] Formeln, die sich auf Werte in der aktuelle Zeile/Spalte beziehen? (Konkretisierung)

2011-09-30 Diskussionsfäden Christian Kühl

Hallo, Thomas!

ich habe viel zu kompliziert gedacht, erst als ich deine zweite Mal
gelesen habe, ist mir klar geworden, worin dein eigentliches Problem
besteht.

Am 01.10.2011 02:06, schrieb el_gra...@kaffeeschluerfer.com:

Ich möchte meine Anfrage von vorhin hier nur konkretisieren:

Gibt es die Möglichkeit, eine Formel nach dem Muster
=(A1*B1)/(C1*D1) zu entwerfen, die sich aber nicht (wie im Muster)
auf die Zellen A-D der Zeile 1 bezieht, sondern auf die Zellen A-D
der jeweils /aktuellen/ Zeile?


Wenn du in Zelle E1 die angegebene Formel eingibst, den Bearbeiten-Modus
verlässt und dann die Formel (nicht, indem du in die Zelle hinein gehst,
sondern diese nur markierst), kopierst und in der nächsten Zeile (oder
auch in mehreren Zellen gleichzeitig) einfügst, dann werden die Formeln
automatisch angepasst. Das nennt sich relativer Adressenbezug.

Calc verwendet standardmäßig den *relativen* Adressenbezug, d.h. die
Formel wird nicht als (A1*B1)/(C1*D1) gelesen, sondern als Nimm die
Zahl aus der Zelle vier rechts von der aktuellen Zelle und multipliziere
sie mit der Zahl aus der Zelle drei rechts von der aktuellen Zelle. Das
ganze dividiere durch das Produkt aus der Zahl in der Zelle zwei rechts
von der aktuellen Zelle und der Zahl aus der Zelle eins rechts von der
aktuellen Zelle.

Wenn du *absolute* Zellbezüge verwenden möchtest (d.h. auch nach dem
kopieren steht immer noch die selbe Zelle in der Formel), musst du die
Zeile und/oder Spalte mit einem Dollarzeichen beginnen:

$A$1 (Zeile und Spalte werden festgehalten)
$A1  (nur die Spalte wird festgehalten, die Zeile kann sich verändern)
A$1  (Nur die Zeile wird festgehalten, die Spalte kann sich verändern)


Ich suche nach einem Ausdruck, den ich z. B. in Spalte E in jede
einzelne Zelle setzen kann, so dass jeweils immer die Werte der
Zellen A-D links daneben (= dieselbe Zeile) zur Berechnung
herangezogen werden. Das wäre dann sowas wie

=(A{akt. Zeile}*B{akt. Zeile})/(C{akt. Zeile}*D{akt. Zeile})


Ist bei relativen Zellbezügen automatisch der Fall.


Die Zelle, in der dieser Ausdruck steht, würde also den Wert
erhalten, der sich aus den Werten der in der gleichen Zeile daneben
stehenden Zellen A bis D gemäß der Formel (A*B)/(C*D) ergibt.


Wenn du es in einer Zeile eingibst und die Formel (als ganze Zelle,
nicht den Zellinhalt) kopiert, passiert genau das.


Und falls das möglich ist: gibt es dann auch noch eine Funktion, mit
der ich z. B. eine ganze Spalte oder Zeile (oder einen Bereich
davon) markieren kann und die Formel dann nur einmal eingeben muss,
und sie wird für jede Zelle im markierten Bereich übernommen-?


Du kannst auch ganze Spalten oder einen Bereich, z.B. E2:E100 markieren
und die Formel auf einmal hinein kopieren. Markiere die zu kopierende
Zelle, z.B. E1, drücke STRG+C (oder im Menü Bearbeiten - Kopieren),
markiere den Bereich, in den die Formel eingefügt werden soll, z.B.
E2:E100, und füge die Formel mit STRG+V (oder im Menü Bearbeiten -
Einfügen) aus der Zwischenablage dort ein.


Sorry, wenn das jetzt umständlich war. Ich hoffe, mir kann trotzdem
jemand helfen.


Ja, war etwas umständlich, weil du versucht hast etwas zu beschreiben,
das eine Standardfunktion von Calc ist.

Gruß,
Christian.

--
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Tips zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert