Hallo,
ich möchte eine Liste so umbauen, dass ein vorhandener Wert automatisch 5 x nacheinander für verschiedene Datumsangaben erscheint. Wenn ich z.B. in der Originaltabelle stehen habe 1,09088529411765 in F2 und 2.1.04 in G2 und in der nächsten Zeile 1,11293382352941 für den 9.1.04, soll das abgewandelte Blatt folgendes Aussehen haben:
1,09088529411765 02.01.2004
1,11293382352941 05.01.2004
1,11293382352941 06.01.2004
1,11293382352941 07.01.2004
1,11293382352941 08.01.2004
1,11293382352941 09.01.2004
Es sollen also jeweils 4 Zeilen eingefügt und mit dem Datum der Wochentage Mo - Do sowie der Zahl vom darauffolgenden Freitag bestückt werden.
Sinn und Zweck des Ganzen: die Werte sollen in ein Chartprogramm importiert und dann graphisch dargestellt werden. Dieses benötigt aber 5 Werte pro Woche.
Gruß
Jörg
Hi Jörg,
im Bereich A1:B6 der Tabelle1 musst du die Formeln manuell eintragen, danach kannst du A2:B6 markieren, Strg-C und das dann nach unten kopieren, Zielbereichzeilenanzahl muss halt durch 5 teilbar sein.
Anpasen an Spalte h ung g musste selbst.
Tabellenblattname: Tabelle2
A B
1 1 02.01.04
2 1,2 09.01.04
3 1,5 16.01.04
4 1,7 23.01.04
Tabellenblattname: Tabelle1
A B
1 1 02.01.04
2 1,2 05.01.04
3 1,2 06.01.04
4 1,2 07.01.04
5 1,2 08.01.04
6 1,2 09.01.04
7 1,5 12.01.04
8 1,5 13.01.04
9 1,5 14.01.04
10 1,5 15.01.04
11 1,5 16.01.04
12 1,7 19.01.04
13 1,7 20.01.04
14 1,7 21.01.04
15 1,7 22.01.04
16 1,7 23.01.04
17 0 26.01.04
18 0 27.01.04
19 0 28.01.04
20 0 29.01.04
21 0 30.01.04
Benutzte Formeln:
A1: =Tabelle2!A1
A2: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A3: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A4: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A5: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A6: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A7: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A8: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A9: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A10: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A11: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A12: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A13: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A14: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A15: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A16: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A17: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A18: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A19: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A20: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
A21: =INDIREKT("Tabelle2!A"&GANZZAHL((ZEILE()-2)/5)+2)
B1: =Tabelle2!B1
B2: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+3
B3: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+4
B4: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+5
B5: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+6
B6: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+7
B7: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+3
B8: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+4
B9: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+5
B10: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+6
B11: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+7
B12: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+3
B13: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+4
B14: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+5
B15: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+6
B16: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+7
B17: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+3
B18: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+4
B19: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+5
B20: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+6
B21: =INDIREKT("Tabelle2!B"&GANZZAHL((ZEILE()-2)/5)+1)+7
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Jörg,
Folgendes Makro generiert aus den Ursprungsdaten in Tabelle1, die von dir gewünschten Daten in Tabelle2. Dazu muß du ggf. in deiner Datei eine leere Tabelle einfügen. Falls deine Tabellen andere Namen haben, dann im Makro die ersten beiden Zeilen anpassen.
Sub DatenTransferieren()
Ursprung = "Tabelle1"
Ziel = "Tabelle2"
Sheets(Ursprung).Select
Datenzeilen = WorksheetFunction.CountA(Range("F:F")) - 1 'Anzahl Datenzeilen in Tabelle Ursprung
Zeile = 2 'Startzeile in Tabelle Ziel
Spalte = 1 'Startspalte in Tabelle Ziel
For I = 1 To Datenzeilen
Sheets(Ziel).Cells(Zeile, Spalte).Value = Sheets(Ursprung).Cells(I + 1, 6).Value
Sheets(Ziel).Cells(Zeile, Spalte + 1).Value = Sheets(Ursprung).Cells(I + 1, 7).Value
Zeile = Zeile + 1
For J = 3 To 6 'Zusätzliche Zeilen einfügen
Sheets(Ziel).Cells(Zeile, Spalte).Value = Sheets(Ursprung).Cells(I + 2, 6).Value
Sheets(Ziel).Cells(Zeile, Spalte + 1).Value = Sheets(Ursprung).Cells(I + 1, 7).Value + J
Zeile = Zeile + 1
Next J
Next I
End Sub
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Jörg,
und gleich noch eine Lösung. In Spalte F und G steht jeweils eine einheitliche Formel.
Tabellenblattname: Quelle
\_|\_\_\_\_\_\_\_\_F\_\_\_\_\_\_\_\_|\_\_\_\_\_G\_\_\_\_\_|
1|Zahl |Datum |
2| 1,09088529411765| 02.01.2004|
3| 1,11293382352941| 09.01.2004|
4| 1,13498235294117| 16.01.2004|
5| 1,15703088235293| 23.01.2004|
Tabellenblattname: Ziel
\_\_|\_\_\_\_\_\_\_\_F\_\_\_\_\_\_\_\_|\_\_\_\_\_G\_\_\_\_\_|
1|Wert |Datum |
2| 1,09088529411765| 02.01.2004|
3| 1,11293382352941| 05.01.2004|
4| 1,11293382352941| 06.01.2004|
5| 1,11293382352941| 07.01.2004|
6| 1,11293382352941| 08.01.2004|
7| 1,11293382352941| 09.01.2004|
8| 1,13498235294117| 12.01.2004|
9| 1,13498235294117| 13.01.2004|
10| 1,13498235294117| 14.01.2004|
11| 1,13498235294117| 15.01.2004|
12| 1,13498235294117| 16.01.2004|
13| 1,15703088235293| 19.01.2004|
14| 1,15703088235293| 20.01.2004|
15| 1,15703088235293| 21.01.2004|
16| 1,15703088235293| 22.01.2004|
17| 1,15703088235293| 23.01.2004|
Benutzte Formeln:
F2 : =INDEX(Quelle!$F$2:Quelle!$F$100;(ZEILE()+2)/5+1;1)
F3 : =INDEX(Quelle!$F$2:Quelle!$F$100;(ZEILE()+2)/5+1;1)
usw. bis
F17: =INDEX(Quelle!$F$2:Quelle!$F$100;(ZEILE()+2)/5+1;1)
G2 : =INDEX(Quelle!$G$2:Quelle!$G$100;(ZEILE()+7)/5;1)+REST(ZEILE()+2;5)-4
G3 : =INDEX(Quelle!$G$2:Quelle!$G$100;(ZEILE()+7)/5;1)+REST(ZEILE()+2;5)-4
usw. bis
G17: =INDEX(Quelle!$G$2:Quelle!$G$100;(ZEILE()+7)/5;1)+REST(ZEILE()+2;5)-4
Gruß
Erich
Hi
…in der Originaltabelle 1,09088529411765 in F2 und 2.1.04 in G2
und in der nächsten Zeile 1,11293382352941 für den 9.1.04
Es sollen also jeweils 4 Zeilen eingefügt und mit dem Datum
der Wochentage Mo - Do sowie der Zahl vom darauffolgenden
Freitag bestückt werden.
hm, ich verstehe nicht ganz, wieso das so kompliziert zu loesen sei…
schreib doch in (Zellenbezeichnungen natürlich beliebig verschiebbar)
K2 =F2 L2 =G2
K3 =K4 L3 =L4-1
K4 =K5 L4 =L5-1
K5 =K6 L5 =L6-1
K6 =F3 L6 =G3
(man kann auch nur K2:L2 und K6:L6 ausfüllen
und K6/L6 nach K3:L5 kopieren)
dann bauste Deine Grafik auf K2:L6 auf und „feddich“…
wenn das ganze mehr als die genannten 2 Werte enthält kann man das ganz einfach erweitern (K10=F4, L10=G4, K7:L9 sind wieder die zwischenwerte, Formeln aus K3:L5 kopieren…)
cu
kai
Hallo Kai,
wenn das ganze mehr als die genannten 2 Werte enthält kann man
das ganz einfach erweitern (K10=F4, L10=G4, K7:L9 sind wieder
die zwischenwerte, Formeln aus K3:L5 kopieren…)
Damit gibst du eigentlich schon die Antwort auf deine Frage „Warum so kompliziert?“.
Wenn die Quelltabelle sehr viele Zeilen enthält, macht das Editieren der Zellen K10, L10, K16, L16 usw. sehr viel Arbeit und dauert sehr lange…
Ist es da nicht einfacher, einmal passende Formeln zu entwickeln und dann nur noch kopieren zu müssen?
Grüße
Erich
Hallo Kai, nochmal zu deinem Vorschlag zur Vereinfachung:
Ich muss - und will - dir zustimmen: Ganz so kompliziert müssen die Formeln dann doch nicht sein, um das Problem zu lösen. Ich habe mir erlaubt, deine und meine Lösung zu kombinieren.
Die Formeln in den Feldern F3 bis F7 und G3 bis G7 können problemlos nach unten kopiert werden, soweit man’s eben braucht. Sie müssen danach nicht bearbeitet werden. (Vorher muss man die in den Formeln mit 100 angesetzte Zeilenzahl der Quelltabellle evtl. anpassen.)
Und hier noch mal die Zieltabelle mit den einfacheren Formeln:
\_\_|\_\_\_\_\_\_\_\_F\_\_\_\_\_\_\_\_|\_\_\_\_\_G\_\_\_\_\_|
1|Wert |Datum |
2| 1,09088529411765| 02.01.2004|
3| 1,11293382352941| 05.01.2004|
4| 1,11293382352941| 06.01.2004|
5| 1,11293382352941| 07.01.2004|
6| 1,11293382352941| 08.01.2004|
7| 1,11293382352941| 09.01.2004|
8| 1,13498235294117| 12.01.2004|
9| 1,13498235294117| 13.01.2004|
usw.
Benutzte Formeln:
F2 : =INDEX(Quelle!$F$2:Quelle!$F$100;(ZEILE()+7)/5;1)
F3 : =F4
F4 : =F5
F5 : =F6
F6 : =F7
F7 : =INDEX(Quelle!$F$2:Quelle!$F$100;(ZEILE()+7)/5;1)
G2 : =INDEX(Quelle!$G$2:Quelle!$G$100;(ZEILE()+7)/5;1)
G3 : =G4-1
G4 : =G5-1
G5 : =G6-1
G6 : =G7-1
G7 : =INDEX(Quelle!$G$2:Quelle!$G$100;(ZEILE()+7)/5;1)
Grüße
Erich