Marko in Excel

  • Hallo, ich würd ein Makro brauchen(oder sonst was für excel), welches wenn in der nachfolgenden Zeile als (nach A12, A13) nicht das nächste datum steht (also 12.1 dann 13.1.) soll er das datum einfügen und die restlichen werte von der zeile darüber kopieren und einfügen
    Bsp:
    12.1. 12,3 14,4 ....
    13.1 11,4 12,2 ....
    15.1. 12 14
    und jetz soll er den 14.1. einfügen mit:
    12.1. 12,3 14,4 ....
    13.1 11,4 12,2 ....
    14.1. 11,4 12,2 ....
    15.1. 12 14 ....
    kann mir wer helfen?


  • Ich hab kein Excel und ein VB Makro wuerd ich nicht mit Stahlhandschuhen anfassen. Aber in Calc kann man dein Problem mit der Funktion 'lookup' loesen, und Ich wette mal, das Excel eine ganz aehnliche Funktion besitzt, wenn nicht genau die gleiche (Update: Sieht so aus als haette ich damit recht gehabt).

    Also sagen wir die Daten aus deinem Post liegen in den Spalten A1:A3 (die Zeitangaben), B1:B3 und C1:C3 (die beiden Werte).

    Jetzt kannst du z.B. in der Spalte E eine vollstaendige Liste von Daten erzeugen (z.B. mit aufofill). da steht dann also in E1:E4 :

    01/12/07
    01/13/07
    01/14/07
    01/15/07

    Daneben, in die Spalte F1, kommt jetzt diese Formel rein:

    =LOOKUP(E1;A$1:A$100;B$1:B$100)

    Beachte, das das erste Argument (E1) eine relative Referenz ist, waehrend in den uebrigen beiden Argumenten die Zeilen fix sind ("durch das '$' wird das festgelegt "). Dadurch kannst Du jetzt die Formel von F1 nach F2,F3,F4 usw. kopieren (mit autofill), und es wird jeweils das erste Argument angepasst.

    Was macht jetzt die Funktion LOOKUP ?
    Ganz einfach: sie sucht den Wert im ersten Argument, in der Menge der Werte des zweiten Arguments, und fuegt als Ergebnis ein Element aus der Menge aus dem dritten Argument ein.

    Also wenn das erste Argument E1 ist, also 01/12/07, dann wird dieser Wert in der Menge A1:A100 gefunden, und zwar gleich als erstes Argument. Das Ergebnis ist dann das erste Argument aus dem Ergebnisvektor B1:B100, also 12.3 .

    In der Formel in Zeile F3 ist das erste Argument E3, also der 01/14/07 .
    Dieses Element kann jetzt _nicht_ in der Menge A1:A100 gefunden werden, denn den 01/14/07 gibt es ja nicht in der Ursprungsliste.

    Was macht also jetzt die Funktion LOOKUP wenn das Suchkriterium nicht gefunden werden kann? : OpenOffice.org's Hilfe gibt Auskunft:

    "If LOOKUP cannot find the search criterion, it matches the largest value in the search vector that is less than or equal to the search criterion."

    Also nimmt die Funktion als Ergebnis den 01/13/07, und als Ergebnis den Wert aus dem Ergebnisvektor mit dem selben Index. Also ganz genau das, was wir haben wollten.

    [Blockierte Grafik: http://bp0.blogger.com/_rsFY4ANrZ50/Rs9UoM0_WzI/AAAAAAAABKo/kMx9NT5H3k0/s1600-h/lookup_dates.png]

    Hier noch die vollstaendige Doku zu LOOKUP, damit Du nach der entsprechenden Funktion in Excel suchen kannst (heisst vermutlich eh genauso):

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!