Bedingte Werte in neue Tabelle schreiben

Bild

Betrifft: Bedingte Werte in neue Tabelle schreiben
von: Sperling
Geschrieben am: 14.10.2015 16:05:53

Hallöchen ihr excel-experten, ich freue mich den Weg zu euch ins Forum gefunden zu haben.
Ich steck leider noch nicht all zu gut in Excel drin, bin aber willig zu lernen. Also Denkanstöße helfen mir sicher auch schon viel weiter, wenn ihr keine komplette Lösung parat habt.
Meine Aufgabe ist es aus einem EMC Networker Log der Full Backups aus einer Liste mit vielen Verschiedenen Clients jeweils das neuste Backup raus zuschreiben und am Ende noch eine Summe zu bilden. Mein Makro kann bisher lediglich die Log Datei einlesen, so dass alle daten ihre eigenes Feld haben. die Tabelle sieht nun wie etwa so aus.
Sekunden seit xx | Client | Größe | BackupID
234--------------------a---------700--------1
456--------------------a---------723--------2
768--------------------a---------753--------3
102--------------------b---------43---------4
123--------------------b---------56---------5
und soll am Ende quasi so aussehen:
Sekunden seit xx | Client | Größe | BackupID
768--------------------a---------753--------3
123--------------------b---------56---------5
--------------------------Summe 809 GB
mein Ansatz war Erstmal Spalte 2 zu überprüfen und quasi für jeden Client eine neue Tabelle zu erstellen und anschließend alle Spalten 1 nach dem höchsten Sekunden Wert in die endgültige Tabelle zu schreiben. Hab nur gerade Null Ahnung wie ich rangehen soll oder ob man das so realisieren kann. ;-)
habe noch 2 komplette Tage dafür Zeit, ihr könnt mir also auch gerne Links vor den Kopf werfen womit ich das lerne.
Vielen Dank und LG

Bild

Betrifft: AW: nachgefragt ...
von: ... neopa C
Geschrieben am: 14.10.2015 16:11:30
Hallo,
... soll es denn Makro werden oder reicht ein Formelergebnis? Letzteres ist möglich.
Gruß Werner
.. , - ...

Bild

Betrifft: AW: nachgefragt ...
von: Sperling
Geschrieben am: 14.10.2015 17:21:20
Wie ich zum Ergebnis komme, ist mir egal :)
Auf alle fälle müssen die Client Namen variabel sein, weil och es auf mehrere logs anwenden möchte. Die log Datei hat auch 25k Einträge

Bild

Betrifft: AW: da ist VBA sicherlich sinnvoller, ...
von: ... neopa C
Geschrieben am: 14.10.2015 17:39:54
Hallo,
... wenn Du mehr als 25000 Datensätze auszuwerten hast und dann wahrscheinlich auch tausende Ergebnisdatensätze zu erwarten sind. Oder?
Wenn als Ergebnis allerdings nur mit wenige Datenzeilen zu rechnen wäre (z.B. nur ein paar Dutzend), könnte man es aber auch mit Formel lösen. Für Heute gehe ich jetzt jedoch erst einmal offline und aus VBA-Lösungen halte ich mich sowieso ganz außen vor. Stell den thread in diesem Fall auf offen.
Gruß Werner
.. , - ...

Bild

Betrifft: AW: da ist VBA sicherlich sinnvoller, ...
von: Sperling
Geschrieben am: 16.10.2015 10:02:50
bei dem 25k log sind z.B. 200 Ergebnisdatensätze sprich Clients zu erwarten. Es gibt aber auch logs, mit bis zu 1000 Clients. Die Logs sind oft mehrere Jahre alt und jeder Client hat hunderte Vollsicherungen gemacht in der Zeit. Uns interessieren aber nur die aktuellsten.
Wie wäre denn dein Ansatz?

Bild

Betrifft: AW: dann mit AGGREGAT(), VERWEIS() und SVERWEIS()
von: ... neopa C
Geschrieben am: 16.10.2015 11:43:00
Hallo,
... ich bin davon ausgegangen, dass 1. die Backup-ID eineindeutig ist und 2. Deine Datentabelle nach Spalte B sortiert ist.
Die Formel A2 nach C2 kopieren, danach alle Formeln aus Zeile2 ziehend weit genug nach unten kopieren. Zuvor in den Formeln B2 und D2 evtl. noch die Datenbereichsgrenze (999) auf das max. notwendige (aber nicht den gesamten Spaltenbereich) anpassen:
Tabelle3

 ABCD
1Sekunden seit xx Client Größe BackupID
2768a7533
3123b565
4789c7656
5    

Formeln der Tabelle
ZelleFormel
A2=IF($D2="","",INDEX(Tabelle2!A:A,MATCH($D2,Tabelle2!$D:$D,)))
B2=INDEX(Tabelle2!B:B,AGGREGATE(15,6,ROW(A$1:A$999)/ISNA(MATCH(Tabelle2!B$1:B$999,B$1:B1,)),1))&""
D2=IF(B2="","",LOOKUP(9,1/(Tabelle2!B$1:B$999=B2),Tabelle2!D:D))


Tabelle2

 ABCD
1Sekunden seit xx Client Größe BackupID
2234a7001
3456a7232
4768a7533
5102b434
6123b565
7789c7656
8    


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Bild

Betrifft: AW: dann mit AGGREGAT(), VERWEIS() und SVERWEIS()
von: SF
Geschrieben am: 16.10.2015 11:58:50
Hola,
verlinkst du auch bitte deine Beiträge in den verschiedenen Foren untereinander, damit nicht noch mehr Leute für dich arbeiten, ohne voneinander zu wissen?
Danke.
Gruß,
steve1da

Bild

Betrifft: AW: also für mich arbeitet niemand ;-) ...
von: ... neopa C
Geschrieben am: 16.10.2015 12:53:17
Hallo steve1da,
... aber wahrscheinlichst meinst Du ja auch mit Deinem Beitrag den TE. Dann solltest Du ihn aber auch direkt ansprechen.
Wenn Du auf Crossposting aufmerksam machst, nachdem eine Lösung (wie hier von mir) eingestellt wurde und andere Lösungen woanders schon oder auch da sind, würde zumindest ich es als hilfreich empfinden, wenn Du dann auch auf die anderen threads verlinkst (wenn es der Crossposter schon nicht tut).
Gruß Werner
.. , - ...


Bild

Betrifft: AW: also für mich arbeitet niemand ;-) ...
von: Sperling
Geschrieben am: 16.10.2015 13:31:09
ausgezeichnete Idee. Hier wurde mir auch versucht zu helfen.
Allerdings stelle ich mich leider etwas blöd an mit deiner Lösung Werner. Also erstmal vielen lieben Dank! Ich bekomme immer Formelfehler. Kannst du die die Datei hochladen und was für ne Version benutzt du?

Bild

Betrifft: AW: wo liegt das Problem genau? ...
von: ... neopa C
Geschrieben am: 16.10.2015 14:01:54
Hallo Sperling,
... hast Du auch wirklich Excel 2010 im Einsatz? Deutsche Version?
Gruß Werner
.. , - ...

Bild

Betrifft: AW: wo liegt das Problem genau? ...
von: Sperling
Geschrieben am: 16.10.2015 14:08:43
danke Werner... ist mir auch gerade eingefallen. genau das war das Problem. ich hab die deutsche Version :D
ich übersetze es gerade und dann klappts bestimmt, danke :)

Bild

Betrifft: AW: die Übersetzung ...
von: ... neopa C
Geschrieben am: 16.10.2015 14:50:50
Hallo Sperling,
... nimmt mir & Dir die Excel Jeanie ab:
Tabelle3:

 ABCD
1Sekunden seit xx Client Größe BackupID
2768a7533

Formeln der Tabelle
ZelleFormel
A2=WENN($D2="";"";INDEX(Tabelle2!A:A;VERGLEICH($D2;Tabelle2!$D:$D;)))
B2=INDEX(Tabelle2!B:B;AGGREGAT(15;6;ZEILE(A$1:A$999)/ISTNV(VERGLEICH(Tabelle2!B$1:B$999;B$1:B1;)); 1))&""
D2=WENN(B2="";"";VERWEIS(9;1/(Tabelle2!B$1:B$999=B2); Tabelle2!D:D))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Bild

Betrifft: AW: die Übersetzung ...
von: Sperling
Geschrieben am: 16.10.2015 15:05:37
danke, cooles tool. ich habs mit http://de.excel-translator.de/translator/ gemacht. Funktioniert auch super ;-)
Deine Annahmen vorhin waren auch alle richtig und die Formeln funktionieren auch genau so wie ichs mir vorgestellt habe, allerdings leider nur bis zum 5. Eintrag. Danach kommt #Zahl!
ich kann leider nicht die datei samt logs hochladen, sonst bin ich nen Kopf kürzer.

Bild

Betrifft: AW: das will natürlich keiner ;-) ...
von: ... neopa C
Geschrieben am: 16.10.2015 15:12:04
Hallo Sperling,
... hattest Du meine Hinweise beachtet? Lösche mal die Formeln ab dem 5. Eintrag und dann kopiere zunächst nur die Formel aus Spalte B nach unten. Tritt dort der Fehler auf?
Gruß Werner
.. , - ...

Bild

Betrifft: AW: das will natürlich keiner ;-) ...
von: Sperling
Geschrieben am: 16.10.2015 15:17:08
ach na klaro. naja mein Kopf ist schon im Wochenende ;-)
lag natürlich am Wertebereich. jetzt funktioniert es!
vielen Dank nochmal und euch allen ein schönes Wochenende

Bild

Betrifft: AW: na prima, Dir dann ebenfalls! owT
von: ... neopa C
Geschrieben am: 16.10.2015 15:25:01
Gruß Werner
.. , - ...

Bild

Betrifft: AW: dann mit AGGREGAT(), VERWEIS() und SVERWEIS()
von: Sperling
Geschrieben am: 16.10.2015 13:25:05
ausgezeichnete idee. hier wurde mir auch versucht zu helfen.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bedingte Werte in neue Tabelle schreiben"