derlomi
Goto Top

Datum und Wert in Excel automatisch ausfüllen

Mahlzeit Leute,

folgende Ausgangssituation:

Ich habe Daten aus einem gewissen Zeitraum, welche in der ersten Tabelle stehen. Es gibt aber nicht zu jedem Datum einen Wert, sodass es bei den Daten einen Datumssprung gibt.

als Beispiel:


Gibt es die Möglichkeit, das wenn ich eine solche Aufstellung in die erst Tabelle kopiere, dass die Datumswerte und die Meldemenge automatisch ausgefüllt werden? Meinetwegen auch gerne mit VBA. Hab im mom noch keinen Ansatz zur Umsetzung.

Sprich, die 2. Tabelle sollte dann automatisch so aussehen, nachdem ich die Werte in Tabelle 1 wie oben eingefügt habe:


Vieleicht habt ihr ja eine Idee wie diese Umzusetzen ist. face-smile

MfG DerLomi

Content-Key: 159826

Url: https://administrator.de/contentid/159826

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: Biber
Biber 31.01.2011 um 17:44:12 Uhr
Goto Top
Moin DerLomi,

ja nee, lässt sich natürlich schnell machen mit einem Erzeugen einer Tageswert-Spalte mit schwungvollen "Autoausfüllen" einer Designer-Schrollrad-Maus...
Den kläglichen Rest kann ein SVerweis() machen.... kein Thema.

Aber wozu??
Ich meine, sei doch froh, dass du nicht die ganzen Nullwert-Tage dabei hast...
Andere Sammler würden die Einzeldaten noch auf "pro Monat" oder "pro Quartal" zusammendampfen.

Was ist denn das Ziel?
Willst du hinterher farblich kennzeichnen, welches die verkaufsstärksten Wochentage sind?
Oder das an durch 3 teilbaren Tagen eines monats doppelt so viel eintrifft wie Karfreitag?

Grüße
Biber
Mitglied: DerLomi
DerLomi 01.02.2011 um 08:16:07 Uhr
Goto Top
ne es geht um einen Graphen der erstellt werden soll und da der Graph sonst nicht so toll abzulesen ist müssen die null-werte mit rein face-sad das Ergebnis wird ohne die null-werte verfälscht
Mitglied: Biber
Biber 01.02.2011 um 10:10:00 Uhr
Goto Top
Moin derLomi,

naja, wenn es so ist... habe ich aber schon geschrieben, was zu tun ist.

1) In die zweite abgebildete tabelle den ersten Datumswert in die Spalte "Meldedatum" eintragen, in deinem Beispiel "01.01.2008" und mit der Maus nach unten ziehen ("Autoausfüllen")

2) In die zweite abgebildete Tabelle Spalte "Meldemenge", ab zweite zeile (wenn es unter der Überschrift losgeht) die Formel eingeben
= SVERWEIS(BQ2;GemeldeteMengen!A$2:B$9999;2;FALSCH)
und nach unten kopieren.

Wobei ich "BQ2" oben abgelesen habe - dort stehen bei dir die Meldedatumswerte.

Den SVerweis kannst du natürlich mit einer "=Wenn(IstNV(SVerwei(..),0, SVerweis(..)) -klammer einrahmen.

Grüße
Biber
Mitglied: bastla
bastla 01.02.2011 um 21:43:38 Uhr
Goto Top
@Biber

Nur als Anmerkung: Da es sich offenbar um Timestamps (also inkl Uhrzeit) handelt, wird das mit dem SVERWEIS() und der Prüfung auf exakte Übersinstimmung (Parameter 4) sogar dann nicht gehen, wenn die Spaltenreihenfolge in der Tabelle "GemeldeteMengen" richtig wäre (also Zeitpunkt in Spalte A, Menge in Spalte B) ...

Grüße
bastla
Mitglied: Biber
Biber 02.02.2011 um 07:06:25 Uhr
Goto Top
Moin bastla,

da hast du natürlich Recht... die Uhrzeit habe ich gar nicht wahrgenommen.

Andererseits....
Ich habe die natürlich gedanklich ausgeblendet, weil die doch in einer 3-Jahre-tageweise-Grafik doch gar keinen sittlichen oder informativen Nutzwert hat.
Wie sollte denn jemand auf den Bolzen kommen kommen, wie in der obigen "2. Tabelle" penibelst zu dokumentieren "für den 2.1.2008-7.1.2008 sind keine Daten vorhanden, und zwar jeweils um 13.34h".?

Da warte ich mal nähere Spezifikationen ab... face-wink
Mit den für SVerweis() leider unpassend angeordneten Spalten hast du dennoch recht - aber vielleicht läuft es ja doch auf eine Datumsdarstellung ohne Stunden und Minuten heraus - dann liesse sich ja in Tabelle mit den Istmeldedaten eine Hilfsspalte weiter rechts dranklatschen.

Grüße und danke für den Hinweis
Biber
Mitglied: bastla
bastla 02.02.2011 um 15:11:23 Uhr
Goto Top
Hallo DerLomi und Biber!

Eigentlich spräche dann doch einiges für eine VBA-Lösung - die könnte etwa so aussehen:
Sub ListeErstellen()
Set Quelle = Worksheets("Tabelle1")  
Menge = "C" 'Spalte der Mengenangabe  
Datum = "BQ" 'Spalte mit den Datumswerten (Timestamps)  
QAbZeile = 2 'Zeile, ab welcher die Daten zu finden sind  

Set Ziel = Worksheets("Tabelle2")  
ZAbZeile = 2 'Zeile, ab welcher die Daten in die Zieltabelle eingetragen werden sollen  
ZAbSpalte = 1 'Nummer der Spalte, ab welcher die Daten in die Zieltabelle eingetragen werden sollen - 1 steht für "A"  

Von = Int(WorksheetFunction.Min(Quelle.Columns(Datum)))
Bis = Int(WorksheetFunction.Max(Quelle.Columns(Datum)))

ZZeile = ZAbZeile
ZSpalte = ZAbSpalte
For i = Von To Bis
    Ziel.Cells(ZZeile, ZSpalte) = 0
    Ziel.Cells(ZZeile, ZSpalte + 1).Value = i
    Ziel.Cells(ZZeile, ZSpalte + 1).NumberFormat = "DD.MM.YYYY"  
    ZZeile = ZZeile + 1
Next

ZZeile = ZAbZeile
QZeile = QAbZeile
QDatum = Quelle.Cells(QZeile, Datum)
Do While QDatum <> ""  
    ZZeile = ZAbZeile + Int(QDatum) - Von
    Ziel.Cells(ZZeile, ZAbSpalte) = Quelle.Cells(QZeile, Menge)
    QZeile = QZeile + 1
    QDatum = Quelle.Cells(QZeile, Datum)
Loop
End Sub
Das Script liest zunächst die Datumswerte aus der Quelldatei und ermittelt das erste und letzte Datum (Von, Bis). In weiterer Folge werden dann alle Datumswerte zwischen Von und Bis (inklusive) in die Zieltabelle geschrieben, als Datum formatiert und als Menge jeweils 0 zugewiesen.

Danach werden jenen Datumswerten, für die es Einträge in der Quelldatei gibt, die entsprechenden Mengenwerte zugeordnet. Das sollte auch funktionieren, wenn nicht nach Datum sortiert wurde, da die Zeile aus dem jeweiligen Datumswert errechnet wird.

Grüße
bastla
Mitglied: Biber
Biber 04.02.2011 um 09:18:06 Uhr
Goto Top
Moin DerLomi,

Nachfrage:
Vor 5 Tagen stellte sich die Situation für neutrale BeobachterInnen so dar, dass sich auf deiner To-Do-Kabeltrommel
unter anderem noch nicht verarbeitete Meldemengen bis zurück zum 1.1.2008 befunden haben.

Wenn ich so deine Antwortgeschwindigkeit hier betrachte, könnte ich mir vorstellen, wie es dazu kommen konnte.. face-wink

Spass beiseite - konnten wir dir bei dem Angehen der Aufgabenstellung helfen?
Hast du bastlas Skript mal auf diese ZDF-History-Daten losgelassen?
Besteht dein Graph inzwischen schon aus mehr als einem Punkt?

Gib doch bitte mal Feedback im Thread.

Danke
Biber
Mitglied: DerLomi
DerLomi 04.02.2011 um 15:02:45 Uhr
Goto Top
Zitat von @Biber:
Moin DerLomi,

Nachfrage:
Vor 5 Tagen stellte sich die Situation für neutrale BeobachterInnen so dar, dass sich auf deiner To-Do-Kabeltrommel
unter anderem noch nicht verarbeitete Meldemengen bis zurück zum 1.1.2008 befunden haben. <~~ xD ne nicht wirklich aber es geht um eine Auswertung von Meldemengen für die Ermittlung von Kanban-Losgrößen ;) da brauch man nen paar mehr Daten und da der Geschäftsleitung das jetzt so einfiel, und ohne die 0-Werte das Ergebnis beachtlich verfälscht wird (sprich der Graph), musste eine solche Lösung her

Wenn ich so deine Antwortgeschwindigkeit hier betrachte, könnte ich mir vorstellen, wie es dazu kommen
konnte.. face-wink <~~ nicht meine To-Do-Kabeltrommel
eher richtig Geschäftsführung

Spass beiseite - konnten wir dir bei dem Angehen der Aufgabenstellung helfen? <~~ ja das konntet Ihr und nochmals vielen Dank dafür

Hast du bastlas Skript mal auf diese ZDF-History-Daten losgelassen? <~~ ja das habe ich und es funktioniert wunderbar so habe ich mir das vorgestellt ;) vielen Danke auch nochmal an dieser Stelle an bastla
Besteht dein Graph inzwischen schon aus mehr als einem Punkt? <~~ das hat er auch vorher schon ;) aber war halt alles so dicht beieinander das man nichts richtig interpretieren konnte ^^

Gib doch bitte mal Feedback im Thread.

Danke
Biber