Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Doppelte Bestände zusammenführen
#1
Hallo,

ich bin nicht allzu versiert in Excel, erweiterte Grundlagen sind mir jedoch bekannt, aber ich stehe nun vor einem Problem, welches etwas mehr benötigt.
Ich habe eine Bestandsliste von Artikeln welche in der Tabelle öfter auftauchen.
Hierbei soll nun die Zeilen mit der jeweils gleichen Artikelnummer unter berücksichtigung des Bestandes, welcher in diesem Fall addiert werden soll, zusammengeführt werden.

Also aus
Code:
Artikelnummer    Beschreibung            Bestand
14503            Kugelschreiber          1500
14515            Druckerpapier 80mg      3500
15465            Post-It                 14000
14503            Kugelschreiber          400
13805            Büroklammern            3600
15465            Post-It                 650
wird
Code:
Artikelnummer    Beschreibung            Bestand
14503            Kugelschreiber          1900
14515            Druckerpapier 80mg      3500
15465            Post-It                 14650
13805            Büroklammern            3600

Ist das mit einer Formel möglich oder muss es hier mittles Makro etwas komplizierter werden?

Vielen Dank euch im Voraus
to top
#2
Hallo,

du könntest das ganz einfach mit einer Pivottabelle machen.

Markiere eine Zelle in der Datentabelle - Einfügen - Pivottable und folge dem Assistenten.

Ziehe das Feld Art.Nr. und das Feld Beschreibung in die Zeilenbeschriftung und ziehe dann das Feld Bestand in das Wertefeld.

Das wars.
Gruß
Peter
to top
#3
Hallo,

mit Makro so z.B.:

Code:
Sub BestaendeZusammenfuehren()
  On Error Resume Next
  With Range("A1").CurrentRegion
    With .Resize(.Rows.Count - 1, 1).Offset(1, 3)
      .FormulaR1C1 = "=IF(COUNTIF(R1C[-3]:RC[-3],RC[-3])=1,SUMIF(C[-3]:C[-1],RC[-3],C[-1]),"""")"
      .Value = .Value
      .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
      On Error GoTo 0
      .Copy .Offset(, -1)
      .Value = ""
    End With
  End With
End Sub

Gruß Uwe
to top
#4
Hallo,

und damit wir auch noch eine Formellösung haben:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHI
1ArtikelnummerBeschreibungBestand   ArtikelnummerProduktMenge
214503Kugelschreiber1500   14503Kugelschreiber1900
314515Druckerpapier 80mg3500   14515Druckerpapier 80mg3500
415465Post-It14000   15465Post-It14650
514503Kugelschreiber400   13805Büroklammern3600
613805Büroklammern3600      
715465Post-It650      
8         

ZelleFormel
G2{=WENN(SUMME(WENN(A$1:A$100="";0;1/ZÄHLENWENN(A$1:A$100;A$1:A$100))) < ZEILE(A2);"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A2))))}
H2=SVERWEIS(G2;A:B;2;0)
I2=SUMMEWENN(A:A;G2;C:C)
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Die Formeln kannst du einfach nach unten kopieren.
Gruß
Peter
to top
#5
Smile 
Hallo, und weil ich auch noch eine Möglichkeit (ohne Matrixformel) habe poste ich hier (m)einen Formelvorschlag..:

Arbeitsblatt mit dem Namen 'Blatt1'
 KLM
1ArtikelnummerProduktMenge
213805Büroklammern3.600
314503Kugelschreiber1.900
414515Druckerpapier 80mg3.500
515465Post-It14.650

ZelleFormel
K2=MIN(A:A)
L2=SVERWEIS(K2;A:B;2;0)
M2=SUMMEWENN(A:A;K2;C:C)
K3=WENN(MAX(A:A)=MAX(K$2:K2);"";KGRÖSSTE(A:A;ZÄHLENWENN(A:A;">"&K2)))
L3=SVERWEIS(K3;A:B;2;0)
M3=SUMMEWENN(A:A;K3;C:C)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste