Microsoft Excel

Herbers Excel/VBA-Archiv

Darstellung von Daten

Betrifft: Darstellung von Daten von: Alex
Geschrieben am: 31.10.2014 15:15:23

Werte Experten,

ich bitte um Hilfe beim Darstellen von Daten wie in meiner Datei ersichtlich:

https://www.herber.de/bbs/user/93478.xlsx

Ich bekomme Daten wie in B1:G10 dargestellt. Diese müssten nun in die Form wie in B12:C22 gebracht werden, ist dies mit einer Formel möglich?

Vielen Dank schon mal im Voraus!

Gruß
Alex

  

Betrifft: VBA Variante (wegen Formel offen) von: Tino
Geschrieben am: 31.10.2014 16:55:16

Hallo,
viel hast Du ja nicht beschrieben, kannst mal so versuchen.

Sub Start()
Dim ArTrans(), ArDaten
Dim n&, nn&, nC&

'Bereich
ArDaten = Tabelle1.Range("B1:G10").Value2

ReDim Preserve ArTrans(1 To 2, 1 To UBound(ArDaten) * UBound(ArDaten, 2))

'Transform
For n = 1 To UBound(ArDaten, 2)
    If ArDaten(1, n) <> "" Then
        For nn = 2 To UBound(ArDaten)
            If ArDaten(nn, n) <> "" Then
                nC = nC + 1
                ArTrans(1, nC) = ArDaten(1, n)
                ArTrans(2, nC) = ArDaten(nn, n)
            End If
        Next nn
    End If
Next n

ReDim Preserve ArTrans(1 To 2, 1 To nC)

With Tabelle1.Range("F12").Resize(, 2) 'Ausgabe
    .Cells(1, 1).Value = "Fällig"
    .Cells(1, 2).Value = "Betrag"
    .Interior.Color = RGB(217, 217, 217)
    .HorizontalAlignment = xlCenter
    With .Rows(1).Offset(1).Resize(nC, 2)
        .Value = Application.Transpose(ArTrans)
        .Columns(1).NumberFormat = "m/d/yyyy"
        .Columns(2).NumberFormat = "_-$ * #,##0_-;-$ * #,##0_-;_-$ * ""-""??_-;_-@_-"
    End With
End With

End Sub

Gruß Tino


  

Betrifft: Kreuztabelle zu Listendarstellung (Formeln) von: Erich G.
Geschrieben am: 31.10.2014 18:11:48

Hi Alex,
so könnte das mit zwei Formeln gehen:

 ABCDEFG
1Darstellung IST:01.01.201401.05.201401.12.2014 01.01.201401.05.2014
2       
3  50    
4      20
5 500 100   
6       
7 300 200   
8 77.777     
9       
10 1.111    40
11       
12Darstellung Soll:FälligBetrag    
13 01.01.2014500    
14 01.01.2014300    
15 01.01.201477.777    
16 01.01.20141.111    
17 01.05.201450    
18 01.12.2014100    
19 01.12.2014200    
20 01.05.201420    
21 01.05.201440    
22       

Formeln der Tabelle
ZelleFormel
B13{=WENN(ZEILE(B1)>ANZAHL2($B$2:$G$10); "";INDEX($A$1:$G$1;1;GANZZAHL(KKLEINSTE(WENN($B$2:$G$10<>"";SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B1)))))}
C13{=WENN(ZEILE(B1)>ANZAHL2($B$2:$G$10); ""; INDEX($A$1:$G$10;10000*REST(KKLEINSTE(WENN($B$2:$G$10<>""; SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B1)); 1); GANZZAHL(KKLEINSTE(WENN($B$2:$G$10<>""; SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B1)))))}
B14{=WENN(ZEILE(B2)>ANZAHL2($B$2:$G$10); "";INDEX($A$1:$G$1;1;GANZZAHL(KKLEINSTE(WENN($B$2:$G$10<>"";SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B2)))))}
C14{=WENN(ZEILE(B2)>ANZAHL2($B$2:$G$10); ""; INDEX($A$1:$G$10;10000*REST(KKLEINSTE(WENN($B$2:$G$10<>""; SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B2)); 1); GANZZAHL(KKLEINSTE(WENN($B$2:$G$10<>""; SPALTE($B$2:$G$10)+ZEILE($B$2:$G$10)%%); ZEILE(B2)))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich


  

Betrifft: AW: Kreuztabelle zu Listendarstellung (Formeln) von: Alex
Geschrieben am: 01.11.2014 13:55:09

Hallo Erich und Tino,

herzlichen Dank für Eure schnelle und ausführliche Hilfe!

Gruß Alex


 

Beiträge aus den Excel-Beispielen zum Thema "Darstellung von Daten"