Zahlen automatisiert addieren, subtraieren, teilen oder multiplizieren in einer kompletten spalte

hallo zusammen,

in einer tabelle habe ich mehrere werte untereinander stehen. es sind alles natuerliche zahlen. es gibt zum beispiel 3 spalten mit je 10 zahlen untereinander wie dieses beispiel:

10   50   90
11   51   91
12   52   92
13  53   93
14  54   94
15   55  95
16  56  96
17  57  97
18  58  98
19  59  99

ich moechte jetzt zu jeder zahl in jeder spalte automatiesiert einen wert berechnen. also spalte1: alle zahlen mit 3 multiplizieren … spalte2: alle zahlen 8 abziehen … und spalte3: 23 abziehen

geht das auf die schnelle ohne gross aufwand?

ein =C1+23 wenn der wert in C1 steht geht nicht. ich bin eigentlich an so einer schnell loesung interessiert wo ich die ganze spalte markiere und dann zu allen werten entsprechend addiere, multipliziere, subtrahiere, oder dividiere.

gibt es da eine einfache loesung zu? - ohne dass ich mehr als den faktor der zur berechnung dient in eine spalte darüber schreibe.

irgendwelche ideen?

gruss und danke im voraus

Dein =C1+23 macht das fur eine Zelle und kann z.B. in D1 stehen. (Ist aber das Gegenteil von 23 abziehen.)
.
Rechts unten an der aktivierten Zelle findest Du eine quadratische Markierung, die Du mit der Maus nach unten “ziehen” kannst, wobei sich die Zellen automatisch mit Formeln füllen. Du kannst auch mal einen Doppelklick auf diesen Punkt probieren. (Und als klassische Alternative funktioniert auch kopieren on D1 und Einfügen in a D2 bis D10.
.
PS: Kopiere z.B. deine 23 aus D1 und nutze das Kontext-menü und Paste-spezial zum Einfügen in die dritte Spalte. Dabei kannst Du Rechenoperationen vorgeben.

Vgl. (englische Version):

nach langer suche im netz und einem befragen von k.i. quellen wurde mir folgendes empfohlen:

Sub RechneMitMarkiertenZellen()
    Dim oDoc As Object, oSel As Object, oCell As Object
    Dim Operator As String, Wert As Double
    Dim i As Integer, j As Integer

    oDoc = ThisComponent
    oSel = oDoc.CurrentSelection

    Operator = InputBox("Gib den Rechenoperator ein (+, -, *, /):", "Rechenart wählen")
    If Operator = "" Then Exit Sub

    Wert = Val(InputBox("Gib den Zahlenwert ein:", "Wert eingeben"))
    
    If oSel.supportsService("com.sun.star.sheet.SheetCellRange") Then
        For i = 0 To oSel.Rows.getCount() - 1
            For j = 0 To oSel.Columns.getCount() - 1
                oCell = oSel.getCellByPosition(j, i)
                If IsNumeric(oCell.Value) Then
                    Select Case Operator
                        Case "+"
                            oCell.Value = oCell.Value + Wert
                        Case "-"
                            oCell.Value = oCell.Value - Wert
                        Case "*"
                            oCell.Value = oCell.Value * Wert
                        Case "/"
                            If Wert <> 0 Then
                                oCell.Value = oCell.Value / Wert
                            Else
                                MsgBox "Division durch 0 ist nicht erlaubt.", 16, "Fehler"
                                Exit Sub
                            End If
                        Case Else
                            MsgBox "Ungültiger Operator: " & Operator, 16, "Fehler"
                            Exit Sub
                    End Select
                End If
            Next j
        Next i
    Else
        MsgBox "Bitte wähle einen gültigen Zellbereich aus.", 48, "Hinweis"
    End If
End Sub

das ganze als macro speichern und dann die spalte markieren und macro anwenden und dann eingeben was gemacht werden soll fuer die ganze spalte. hierbei handelt es sich um die original spalte ohne umwege und ohne hin und her kopieren von werten oder vergleichbaren dingen.

aber abseits dessen gibt es keine andere alternative?

play with this
1_LO-CALC_Matrix complex calculation_070220.ods (18.5 KB)
impossible to overwrite all input cells by a formula therefore you need an equal area on another position with all outputs