Clever-Excel-Forum

Normale Version: Positive und negative Werte verrechnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hallo miteinander
ich möchte eine Tabelle mit negativen und positiven Werten bearbeiten. 

Für jede Periode wird eine Fälligkeitsliste aus dem System generiert. In dieser Liste werden Forderungen (positive Werte) und Verbindlichkeiten/Gutschriften (negative Werte)
nach ihrer Fälligkeit ausgegeben.

Jetzt sollen die positiven und negativen Werte miteinander verrechnet werden. 
Forderungen und Verbindlichkeiten werden soweit möglich miteinander ausgeglichen. 
Das soll ich für eine lange Liste per Hand machen..  :16:

Die Berechnung soll in Zelle C6 gestartet und L11 (bzw. letzten Wert einer langen Liste) beendet werden. Zusätzlich möchte ich eine Summe in Spalte M bekommen. 

Dabei könnte der Wert in der 1 Saplte mit den folgenden verglichen werden und ggf. ausgeglichen werden. ich weiß aber nicht wie ich das in einer Schleife oder ähnlichen Lösen kann

Eine Lösung zu Fuß habe ich angefügt.
Jetzt mit Anhang ….

Ich bin so dankbar wenn jemand eine Lösung für mich hat  :19:
Hola,


Zitat:Eine Lösung zu Fuß habe ich angefügt.

nein.

Gruß,
steve1da
Ist eine ziemlich spannende FIFO-Frage ... möglicherweise etwas für ein VBA-Formelarray (pro Zeile).
Hi

Mit VBA wäre das eine Variante.
Der Code überschreibt direkt in der Datenliste. Also bei den ersten versuchen an einer Kopie arbeiten.

Für deine Originalliste den Datenbereich in der Zeile anpassen.
Set rngA = Range("?????")   'Datenbereich
Code:
Public Sub Verrechne()
Dim rngA As Range, j As Long, jj As Long, a As Long, OS As Long, OZ As Long

Set rngA = Range("C6:L11")   'Datenbereich
OZ = rngA.Rows(1).Row
OS = rngA.Columns(1).Column

For j = OZ To OZ + rngA.Rows.Count - 1
   For jj = OS To OS + rngA.Columns.Count - 1
       If Cells(j, jj) <> "" Then
          For a = jj + 1 To OS + rngA.Columns.Count - 1
         
             If Cells(j, jj) > 0 And Cells(j, a) < 0 Then  '(P/N)
                If Cells(j, jj) + Cells(j, a) > 0 Then
                   Cells(j, jj) = Cells(j, jj) + Cells(j, a)
                   If Cells(j, jj) = 0 Then Cells(j, jj) = ""
                   Cells(j, a) = ""
                Else
                   Cells(j, a) = Cells(j, jj) + Cells(j, a)
                   If Cells(j, a) = 0 Then Cells(j, a) = ""
                   Cells(j, jj) = ""
                   Exit For
                End If
             End If
            
             If Cells(j, jj) < 0 And Cells(j, a) > 0 Then  '(N/P)
                If Cells(j, jj) + Cells(j, a) > 0 Then
                   Cells(j, a) = Cells(j, jj) + Cells(j, a)
                   If Cells(j, a) = 0 Then Cells(j, a) = ""
                   Cells(j, jj) = ""
                   Exit For
                Else
                   Cells(j, jj) = Cells(j, jj) + Cells(j, a)
                   If Cells(j, jj) = 0 Then Cells(j, jj) = ""
                   Cells(j, a) = ""
                End If
             End If
            
          Next a
       End If
   Next jj
Next j
End Sub
Gruß Elex
Eine Formellösung anbei.

Diese Datei wird ohne jegliche Gewährleistung zur Verfügung gestellt, aber ich verwende einen aktuellen Virenscanner.
Schick, sulprobil ... ich hätte mit mehr Aufwand dafür gerechnet, falls mit Formeln ;)

Ich guck's mir nach dem Sonnenuntergang noch mal genauer an.
Wow das funzt sulprofil   Blush

wie sieht die Formel aus wenn die Lösung mit Formellösung ein paar Spalten neben der Ausgangstabelle stehen soll ? da steh ich auf dem Schlauch  Confused
Na, einfach das gesamte Formelergebnisrechteck markieren und mit gedrückter linker Maustaste dorthin ziehen, wo Du es haben willlst.
Wenn es nicht klappt, nochmal eine Datei hochladen, in der man sehen kann, wo es hin soll.
jetzt mit Tabelle.

Ich bekomm die Formel nicht in den gelben Bereich  und so dass ich die Tabelle erweitern kann und die Formel runter ziehen kann
Siehe Anlage.

Ohne jede Gewähr.

Lass Dir das mal von einem Freund oder Kollegen zeigen - das sind Basics.