Anzeige
Archiv - Navigation
1452to1456
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

Bedingte Werte in neue Tabelle schreiben

Bedingte Werte in neue Tabelle schreiben
14.10.2015 16:05:53
Sperling
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

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
14.10.2015 16:11:30
...
Hallo,
... soll es denn Makro werden oder reicht ein Formelergebnis? Letzteres ist möglich.
Gruß Werner
.. , - ...

AW: nachgefragt ...
14.10.2015 17:21:20
Sperling
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

AW: da ist VBA sicherlich sinnvoller, ...
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
.. , - ...

Anzeige
AW: da ist VBA sicherlich sinnvoller, ...
16.10.2015 10:02:50
Sperling
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?

AW: dann mit AGGREGAT(), VERWEIS() und SVERWEIS()
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
.. , - ...

Anzeige
AW: dann mit AGGREGAT(), VERWEIS() und SVERWEIS()
16.10.2015 11:58:50
SF
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

AW: also für mich arbeitet niemand ;-) ...
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
.. , - ...

Anzeige
AW: also für mich arbeitet niemand ;-) ...
16.10.2015 13:31:09
Sperling
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?

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

AW: wo liegt das Problem genau? ...
16.10.2015 14:08:43
Sperling
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 :)

Anzeige
AW: die Übersetzung ...
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
.. , - ...

Anzeige
AW: die Übersetzung ...
16.10.2015 15:05:37
Sperling
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.

AW: das will natürlich keiner ;-) ...
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
.. , - ...

Anzeige
AW: das will natürlich keiner ;-) ...
16.10.2015 15:17:08
Sperling
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

AW: na prima, Dir dann ebenfalls! owT
16.10.2015 15:25:01
...
Gruß Werner
.. , - ...

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

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige