Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1556to1560
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenextraktion in neue Tabelle

Datenextraktion in neue Tabelle
12.05.2017 18:13:24
Phil
Hi,
in unserem ERP System ist die Stundeneingabe ziemlich umständlich und zeitaufwändig. Nachdem die Mitarbeiter jetzt rebellieren habe ich versucht, aus der alten Excel Stundenschreibung eine importierbare Tabelle zu generieren - leider ohne Erfolg. Geht es überhaupt ohne VBA?
Datei ist beigefügt, vielleicht kann jemand helfen. Folgendes möchte ich erreichen:
https://www.herber.de/bbs/user/113543.xlsx
1. Alte Stundenschreibungstabelle ist in Blatt "Stundentabelle". Hier tragen die Kollegen ihr Stunden ein. Die Tabelle ist dynamisch, d.h. wenn ein neues Projekt dazukommt, wird eine Spalte kopiert/ergänzt und aus den dropdowns Kunde, Projekt und Stundenart ausgewählt.
2. Blatt "Importtabellenmuster" ist das Format, dass ich für den Import in das ERP System benötige. Damit Ihr die Datentypen seht, habe ich ein paar Beispielzeilen eingefügt. Zusatzschwierigkeit ist hier, dass weder die Überschriften, noch die Einträge in den Zeilen (außer Datum) mit denen der Stundentabelle übereinstimmen, d.h. sowohl Überschriften als auch Einträge müssen "übersetzt" werden.
Hier muss für jedes Projekt und jeden Tag ein einzelner Eintrag erstellt werden, d.h. z.B. der 3.1.2017 muss in vier Zeilen erscheinen, da an diesem Tag an vier verschiedenen Projekten gearbeitet wurde.
3. Für die Dropdowns in der Stundentabelle und für die Übersetzung der Bezeichnungen gibt es das Blatt "Masterdata". Da auch diese Tabellen dynamisch sind, habe ich sie als Tabellen formatiert und mit Namen versehen.
Ich hoffe, dass sich das Problem durch eine (für mein Gehirn zu verschachtelte) Indexabfrage lösen lässt - kann jemand helfen? - Vielen Dank im voraus.
Einen Crosspost gibt es nicht :-)
Thx - Phil

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit Matrixfunktion(alität)sformeln möglich ...
12.05.2017 21:31:45
...
Hallo Phil,
... wenn die Stundentabellen jedoch zu groß werden (zu viele Projekte und oder zu viele Tage) kann das ganz schön über die Performance gehen. Da die Extraktion aber nicht ständig berechnet werden muss, kann man einen "Schalter" (z.B. über eine Dropdownzelle in der mastertabelle) einbauen, über die die Formelberechnung überhaupt erst eingeleitet wird. Dazu einfach nachfolgenden Formeln noch voranstellen =WENN(Dropdownzellenwert="no";"";Formel) oder ähnlich.
Folgende Hilfsspaltenformel in Stundentabelle!B8 =ANZAHL(C8:ZZ8)+B7 und nach unten kopieren
verkürzt nachfolgende Formeln, die alle einfach nach unten kopiert werden:
 ABCDEF
1DateAccountProjectEmployeeItemQuantity
202.01.20171000920168802000122PAT2,00
302.01.20171000920168802000262HPT012,00
402.01.2017100902016880200072HPT012,00
503.01.20171000920168802000122GM2,00
603.01.20171000920168802000122ALLG2,00
703.01.20171000920168802000122GE2,00
803.01.20171005020168802000242HPT012,00
904.01.20171000920168802000122VU2,00
1004.01.20171000920168802000122PAT2,00
1104.01.2017100902016880200042HPT012,00
1204.01.2017100962016880200012HPT012,00
1305.01.20171000920168802000122GM2,00
14      

Formeln der Tabelle
ZelleFormel
A2=WENN(ZEILE(A1)>ANZAHL(Stundentabelle!C:ZZ); "";INDEX(Stundentabelle!A:A;AGGREGAT(15;6;ZEILE(A$8:A$375)/(Stundentabelle!B$8:B$375>ANZAHL(A$1:A1)); 1)))
B2=WENN(A2="";"";SVERWEIS(INDEX(Stundentabelle!$5:$5;AGGREGAT(15;6;SPALTE(C1:ZZ1)/(INDEX(Stundentabelle!C:ZZ;VERGLEICH(A2;Stundentabelle!A:A;); )>0); ZÄHLENWENN(A$1:A2;A2))); Masterdata!L:M;2;))
C2=WENN(A2="";"";INDEX(Masterdata!H:H;VERGLEICH(INDEX(Stundentabelle!$6:$6;AGGREGAT(15;6;SPALTE(C1:ZZ1)/(INDEX(Stundentabelle!C:ZZ;VERGLEICH(A2;Stundentabelle!A:A;); )>0); ZÄHLENWENN(A$1:A2;A2))); Masterdata!I:I;)))
D2=WENN(A2="";"";Stundentabelle!B$3)
E2=WENN(A2="";"";SVERWEIS(INDEX(Stundentabelle!$7:$7;AGGREGAT(15;6;SPALTE(C1:ZZ1)/(INDEX(Stundentabelle!C:ZZ;VERGLEICH(A2;Stundentabelle!A:A;); )>0); ZÄHLENWENN(A$1:A2;A2))); Masterdata!D:E;2;))
F2=WENN(A2="";"";INDEX(Stundentabelle!A:ZZ;VERGLEICH(A2;Stundentabelle!A:A;); AGGREGAT(15;6;SPALTE(C1:ZZ1)/(INDEX(Stundentabelle!C:ZZ;VERGLEICH(A2;Stundentabelle!A:A;); )>0); ZÄHLENWENN(A$1:A2;A2))))

Gruß Werner
.. , - ...
Anzeige
AW: mit Matrixfunktion(alität)sformeln möglich ...
12.05.2017 22:22:18
Phil
Hallo Werner,
Wow :-o
Jetzt bin ich echt beeindruckt. Ich habe mich mit einem ähnlichen Ansatz versucht, aber außer einem Knoten im Gehirn nichts erreicht. Deine Lösung hat auf Anhieb funktioniert.
Vielen, vielen Dank für die schnelle und perfekte Hilfe und ein schönes Wochenende!!!
Phil
AW: bitte, gern! Auch Dir ein schönes WE owT
13.05.2017 17:46:21
...
Gruß Werner
.. , - ...

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige