Daten umgruppieren
24.01.2014 20:48:28
Erich
Hi Flo,
hier noch eine Alternative zum Ausprobieren:
Option Explicit
Sub Birnen()
Dim lngS As Long, lngZ As Long, arQ, arZ(), qq As Long, zz As Long
lngZ = 1 ' ab Zeile 1 (Überschriften)
lngS = 6 ' ab Spalte F (Käufer)
arQ = Sheets("Tabelle3").Cells(lngZ, lngS).CurrentRegion ' Quelldaten
ReDim arZ(1 To 2 * UBound(arQ), 1 To 7)
' Spaltenüberschriften
arZ(1, 1) = arQ(1, 1)
arZ(1, 2) = "Verkäufer"
For qq = 2 To 5
arZ(1, qq + 1) = arQ(1, qq)
Next qq
arZ(1, 7) = "je Verk. und Käufer"
' Berechnung
zz = 1
For qq = lngZ + 1 To UBound(arQ)
zz = zz + 1
arZ(zz, 1) = arQ(qq, 1)
arZ(zz, 2) = arQ(qq, 2)
arZ(zz, 3) = arQ(qq, 2)
arZ(zz, 5) = arQ(qq, 4)
If arQ(qq, 2) = arQ(qq, 3) Then
arZ(zz, 4) = arQ(qq, 3)
arZ(zz, 6) = arQ(qq, 5)
arZ(zz, 7) = arZ(zz, 5) + arZ(zz, 6)
Else
arZ(zz, 7) = arZ(zz, 5) + arZ(zz, 6)
zz = zz + 1
arZ(zz, 1) = arQ(qq, 1)
arZ(zz, 2) = arQ(qq, 3)
arZ(zz, 4) = arQ(qq, 3)
arZ(zz, 6) = arQ(qq, 5)
arZ(zz, 7) = arZ(zz, 5) + arZ(zz, 6)
End If
Next qq
' Ausgabe in Zieltabelle
With Sheets("Tabelle5")
.Cells.ClearContents
.Cells(lngZ, lngS).Resize(UBound(arZ), 7) = arZ
End With
End Sub
Mit Formeln lässt sich das aber auch ganz gut erledigen. Hier mit einer Hilfsspalte M:
| | F | G | H | I | J | K | L | M |
| 6 | Ist-Stand | | | | | | | |
| 7 | Käufer | Verkauf Apfel | Verkauf Birne | Apfelerlös | Birnenerlös | | | |
| 8 | willi | hans | wurst | 1 | 2 | | | |
| 9 | tobi | hans | hans | 1 | 2 | | | |
| 10 | AAAAAAA | Q | RRRRRRRRR | 55 | 4444 | | | |
| 11 | tobi | hans | hans | 1 | 2 | | | |
| 12 | C | DDDDDDD | F | 1 | 2 | | | |
| 13 | lisa | wurst | wurst | 1 | 2 | | | |
| 14 | | | | 60 | 4454 | 4514 | | |
| 15 | | | | | | | | |
| 16 | | | | | | | | |
| 17 | Soll-Stand | | | | | | | Hilf |
| 18 | Käufer | Verkäufer | Verkauf Apfel | Verkauf Birne | Apfelerlös | Birnenerlös | Erlös je Verk. und Käufer | Qu-Satz |
| 19 | willi | hans | hans | | 1 | | 1 | 1 |
| 20 | willi | wurst | | wurst | | 2 | 2 | 1 |
| 21 | tobi | hans | hans | hans | 1 | 2 | 3 | 2 |
| 22 | AAAAAAA | Q | Q | | 55 | | 55 | 3 |
| 23 | AAAAAAA | RRRRRRRRR | | RRRRRRRRR | | 4444 | 4444 | 3 |
| 24 | tobi | hans | hans | hans | 1 | 2 | 3 | 4 |
| 25 | C | DDDDDDD | DDDDDDD | | 1 | | 1 | 5 |
| 26 | C | F | | F | | 2 | 2 | 5 |
| 27 | lisa | wurst | wurst | wurst | 1 | 2 | 3 | 6 |
| 28 | | | | | | | 4514 | |
| Formeln der Tabelle |
| Zelle | Formel | | I14 | =SUMME(I8:I13) | | J14 | =SUMME(J8:J13) | | K14 | =SUMME(I14:J14) | | F19 | =INDEX($F$8:$F$13;M19) | | G19 | =INDEX($G$8:$H$13;M19;1+(M18=M19)) | | H19 | =WENN(M18=M19;"";INDEX($G$8:$G$13;M19)) | | I19 | =WENN((M18=M19)+(H19=INDEX($H$8:$H$13;M19)); INDEX($H$8:$H$13;M19); "") | | J19 | =WENN(H19="";"";INDEX(I$8:I$13;$M19)) | | K19 | =WENN(I19="";"";INDEX(J$8:J$13;$M19)) | | L19 | =SUMME(J19:K19) | | M19 | =KÜRZEN(1+ANZAHL($J$18:$K18)/2) |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich