Registriert seit: 04.05.2016
Version(en): 2010/2013
Heyo!
Ich bin noch relativ frisch, was Makro's und VBA etc. angeht...
Meine Frage wäre folgende:
Ich habe eine größere Tabelle mit diversen Artikeln und einen kleinen Weg, den diese zurück gelegt haben generiert.
als Beispiel:
ArtikelNr. Datum Bestand
XXXXX1 1160301 1
XXXXX1 1160305 0
XXXXX1 1160403 1
XXXXX4 1160402 1
XXXXX4 1160410 0
XXXXX5 1160228 3
Um zu erklären, das Datum wird von einem Programm so generiert, da die Tabelle extrem lang ist würde ich das so behalten wollen. Die 1 am Anfang wird generiert (ist vom Programm leider so vorgelegt und hat keine Bedeutung), die 16 steht fürs Jahr, die nächsten 2 Zahlen für Monat und die letzten 2 für Tag.
Was ich jetzt gerne hätte, dass die Tabelle so filtert, dass nur die letzte "Bewegung" des Artikels angezeigt wird und dann auch nur, wenn der Bestand > 0 ist.
Ich hab mich mal durchgeklickt und wüsste leider nicht, wie ich das umsetzen könnte kann mir da jemand helfen?
Danke im Vorraus! :)
LG, Learco.
Registriert seit: 06.12.2015
Version(en): 2016
Hallo,
wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.
mfg
Registriert seit: 04.05.2016
Version(en): 2010/2013
(04.05.2016, 08:38)Fennek schrieb: Hallo,
wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.
mfg
Kann man das irgendwie automatisiert anstellen? Weil die Tabelle besteht aus knapp 29000 Zeilen..
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
04.05.2016, 09:01
(Dieser Beitrag wurde zuletzt bearbeitet: 04.05.2016, 09:07 von Käpt'n Blaubär.)
Fennek schrieb:
wie wäre es, mit einer Hilfsspalte zuerst ein xl-Datum zu erzeugen, dann sollte das Filtern relativ einfach gehen.
Deine Antwort:
Zitat:ArtikelNr. Datum Bestand
XXXXX1 1160301 1
Die 1 am Anfang wird generiert (ist vom Programm leider so vorgelegt und hat keine Bedeutung)
... und wenn Du die 1 vorne wegschneidest, das ginge zB. mit VBA, dann hast Du doch schon das gesuchte Datum,
oder sehe ich das falsch?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!
Grüße aus Norderstedt, Peter
Registriert seit: 04.05.2016
Version(en): 2010/2013
Da kommt jetzt das Problem, dass das knapp 50 verschiedene Daten sind, klar könnte ich dann ein Datum auswählen, dann mit suchen / ersetzten dann das korrigieren,
aber meine Frage dann, wäre, ob man dies nicht automatisierter anstellen kann, weil das wäre ja trotzdem ein Haufen an Arbeit.
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
Hallo,
magst Du meine Frage nicht beantworten?
da ging es doch erst mal nur darum, ein Datum zu finden, nach dem dann vernünftig gefiltert werden kann.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!
Grüße aus Norderstedt, Peter
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Learco,
du schreibst zwar, dass du "frisch" bist, was VBA anbelangt. Daraus schließe ich, dass du eine Makrolösung haben willst. Zwei Antworten hast du darauf ja schon bekommen. Aber muss es denn wirklich VBA sein?
Hier mein Vorschlag für eine Formellösung zum Erstellen eines gültigen Datums
Tabelle5 | A | B | 1 | 1160301 | 01.03.16 | 2 | 1160302 | 02.03.16 | 3 | 1160303 | 03.03.16 | 4 | 1160304 | 04.03.16 | 5 | 1160305 | 05.03.16 | Formeln der Tabelle | Zelle | Formel | B1 | =(RECHTS(A1;2)&"."&TEIL(A1;4;2)&"."&TEIL(A1;2;2))*1 |
| Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Jetzt kannst du doch ganz normal nach diesen Daten mit Bordmitteln filtern.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Moin,
2 Fragen:
- Sind das wirklich Leerzeilen in der Auflistung? Wenn ja, raus damit, die unterbrechen eine Liste.
- Müssen diese "komischen kalendarischen Daten" so bleiben oder können die alle in ein "echtes" Datum umgewandelt werden?
So oder so gibt es eine Lösung, wir erwarten von dir aner eine klare Antwort auf unsere Beiträge bzw. Fragen.
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Learco,
meiner Meinung nach ist das vorliegende Datumsformat genau richtig für eine weitere "Verarbeitung".
Per Formel ginge z.B. das:
Formel in D2: =WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0)) und mit Strg+Shift+Enter bestätigen.
Diese Formel dann einfach am Rahmenkreuz runterziehen.
| A | B | C | D | 1 | ArtikelNr. | Datum | Bestand | Filter | 2 | XXXXX1 | 1160301 | 1 | FALSCH | 3 | XXXXX1 | 1160305 | 0 | FALSCH | 4 | XXXXX1 | 1160403 | 1 | WAHR | 5 | | | | FALSCH | 6 | XXXXX4 | 1160402 | 1 | FALSCH | 7 | XXXXX4 | 1160410 | 0 | FALSCH | 8 | XXXXX5 | 1160228 | 3 | WAHR | Formeln der Tabelle | Zelle | Formel | D2 | {=WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0))} | D3 | {=WENN(A3<>"";MAX((A$2:A$99999=A3)*(B$2:B$99999))=B3*(C3>0))} | D4 | {=WENN(A4<>"";MAX((A$2:A$99999=A4)*(B$2:B$99999))=B4*(C4>0))} | D5 | {=WENN(A5<>"";MAX((A$2:A$99999=A5)*(B$2:B$99999))=B5*(C5>0))} | D6 | {=WENN(A6<>"";MAX((A$2:A$99999=A6)*(B$2:B$99999))=B6*(C6>0))} | D7 | {=WENN(A7<>"";MAX((A$2:A$99999=A7)*(B$2:B$99999))=B7*(C7>0))} | D8 | {=WENN(A8<>"";MAX((A$2:A$99999=A8)*(B$2:B$99999))=B8*(C8>0))} |
| 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
Nun kannst Du nach Spalte D alle WAHR filtern.
Gruß Uwe
Registriert seit: 04.05.2016
Version(en): 2010/2013
(04.05.2016, 09:59)Kuwer schrieb: Hallo Learco,
meiner Meinung nach ist das vorliegende Datumsformat genau richtig für eine weitere "Verarbeitung".
Per Formel ginge z.B. das:
Formel in D2: =WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0)) und mit Strg+Shift+Enter bestätigen.
Diese Formel dann einfach am Rahmenkreuz runterziehen.
| A | B | C | D | 1 | ArtikelNr. | Datum | Bestand | Filter | 2 | XXXXX1 | 1160301 | 1 | FALSCH | 3 | XXXXX1 | 1160305 | 0 | FALSCH | 4 | XXXXX1 | 1160403 | 1 | WAHR | 5 | | | | FALSCH | 6 | XXXXX4 | 1160402 | 1 | FALSCH | 7 | XXXXX4 | 1160410 | 0 | FALSCH | 8 | XXXXX5 | 1160228 | 3 | WAHR | Formeln der Tabelle | Zelle | Formel | D2 | {=WENN(A2<>"";MAX((A$2:A$99999=A2)*(B$2:B$99999))=B2*(C2>0))} | D3 | {=WENN(A3<>"";MAX((A$2:A$99999=A3)*(B$2:B$99999))=B3*(C3>0))} | D4 | {=WENN(A4<>"";MAX((A$2:A$99999=A4)*(B$2:B$99999))=B4*(C4>0))} | D5 | {=WENN(A5<>"";MAX((A$2:A$99999=A5)*(B$2:B$99999))=B5*(C5>0))} | D6 | {=WENN(A6<>"";MAX((A$2:A$99999=A6)*(B$2:B$99999))=B6*(C6>0))} | D7 | {=WENN(A7<>"";MAX((A$2:A$99999=A7)*(B$2:B$99999))=B7*(C7>0))} | D8 | {=WENN(A8<>"";MAX((A$2:A$99999=A8)*(B$2:B$99999))=B8*(C8>0))} |
| 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
Nun kannst Du nach Spalte D alle WAHR filtern.
Gruß Uwe
Genau SO wollte ich das haben - kannst du mir vielleicht die Formel erklären, damit ich da keine Verständnisprobleme bekomme?
An alle anderen, tut mir leid, dass ich teilweise nicht drauf geantwortet habe, weil ich eben relativ viel zu tun hatte.
Danke an alle Antworten :)
|