Clever-Excel-Forum

Normale Version: Tabelle konvertieren zur Auswertung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Excel-Freunde,

ich benötige Hilfe bei folgendem Problem. Unser Ticketsystem generiert einen Bericht mit der Auswertung der gebuchten Ticketzeiten, dieser Bericht lässt sich leider nicht weiter anpassen.
Folgende Tabelle wird dabei exportiert:

                                                                               
DatumMitarbeiter AMitarbeiter BMitarbeiter C
01.01.20220,25-1
02.01.202214-
03.02.202230,50,75


Ich benötige für eine weitere Auswertung die Tabelle folgendermaßen:

                                                                                                               
DatumName des MitarbeiterErfasste Zeit
01.01.2022Mitarbeiter A0,25
01.01.2022Mitarbeiter B-
01.01.2022Mitarbeiter C1
02.01.2022Mitarbeiter A1
02.01.2022Mitarbeiter B4
02.01.2022Mitarbeiter C-

Da ich das ganze immer wöchentlich aktualisieren muss, wäre ein gewisser Automatismus super.
Danke euch, Gruß Robby
Hi,

PQ ist hier sicherlich das erste Mittel der Wahl. Es ginge natürlich auch mit Formeln.
Wenn Deine gezeigte Ausgangstabelle in Tabelle1!A1 beginnt, dann wechsel in ein leeres neues Blatt.

Dort erstmal die Überschriften in A1: Datum, B1: Mitarbeiter, C1: erfasste Zeit.

Dann die Formeln in...

A2:
=WENN(ZEILE(A1)>(ANZAHL2(Tabelle1!$1:$1)-1)*(ANZAHL2(Tabelle1!A:A)-1);"";INDEX(Tabelle1!A:A;KÜRZEN((ZEILE(A1)-1)/(ANZAHL2(Tabelle1!$1:$1)-1);0)+2))

B2:
=WENN(A2="";"";INDEX(Tabelle1!$1:$1;REST(ZEILE(A1)-1;ANZAHL2(Tabelle1!$1:$1)-1)+2))

C2:
=WENN(A2="";"";SVERWEIS(A2;Tabelle1!$1:$1048576;VERGLEICH(B2;Tabelle1!$1:$1;0);0))

Alle Formeln weit genug runterkopieren.
Hier noch eine dynamische Formel (365).

BEREICH.VERSCHIEBEN verwendet man aber eigentlich nicht (und zwar nicht aus Volatilitätsgründen). Außerdem wäre die Formel noch mit den neuesten dynamischen Funktionen zu optimieren.
in VBA:

Code:
Sub M_snb()
  sn = Cells(1).CurrentRegion
  ReDim sp(UBound(sn) * UBound(sn, 2), 2)
 
  sp(0, 0) = sn(1, 1)
  sp(0, 1) = "Mitarbeiter"
  sp(0, 2) = "Zeit"
  n = 1
  For jj = 2 To UBound(sn, 2)
    For j = 2 To UBound(sn)
      sp(n, 0) = sn(j, 1)
      sp(n, 1) = sn(1, jj)
      sp(n, 2) = sn(j, jj)
      n = n + 1
    Next
  Next
 
  Cells(20, 1).Resize(UBound(sp), UBound(sp, 2) + 1) = sp
End Sub
Super, vielen Dank