Wie kann ich diese Daten (.csv) in 2 Wochen Körbe teilen?

...komplette Frage anzeigen

1 Antwort

Auf die Datei kommt man nur mit Passwort.

Probier mal ob das zum gewünschten Ergebnis führt:
Wenn die Daten bspw. in Spalte A stehen (A1:A18)

in B1: =INDEX(A$1:A$18;ZEILE(B1)*2;1) und runterziehen
in C1: =INDEX(A$2:A$18;ZEILE(C1)*2;1) und runter

im Grund gleiche Formel, nur die Zeile in der Matrix versetzt

Antwort bewerten Vielen Dank für Deine Bewertung
Fr4gen 16.05.2016, 13:37

Hi Ninombre, schonmal danke für die Antwort.

Wegen des pw: kommst mit qwert1234 dran ;)

DIe Sache ist, dass das ca. 870000 Datensätze sind ^^ - da wird das mit dem Runteziehen ne Weile dauern *lach*

0
Oubyi 16.05.2016, 17:40
@Fr4gen

Alternative zum Runterziehen:
Oben links im Adressfeld (wo normalerweise die Adresse der aktiven Zelle angezeigt wird) eingeben:
B1:B870000
dann
F2 drücken
dann:
STRG & SHIFT& ENTER (gleichzeitig)
Fertig.
Bei DER Menge an Daten wird es aber sicherlich knapp mit den Resourcen und auch einige Zeit dauern.

P.S.: Wenn die Quelldaten direkt links der Formeln stehen, reicht evtl. auch ein Doppelklick auf das Ausfüllkästchen in der Ecke unten links des Zellrahmens.

0
Fr4gen 16.05.2016, 18:14
@Oubyi

Hi Oubyi, wenn ich dich richtig verstehe, so ist das eine bequeme Möglichkeit, einen Adressbereich gezielt auszuwählen, richtig?

Das ist schonmal gut! Leider macht der Vorschlag von Ninombre bei mir irgendwie nichts :(

Es wird dabei ja auch nichts kopiert.... genial wäre z.B. ein Kopieren in ein neues Datenblatt derselben Datei.

Ich weiß auch nicht, ob gescheit rüber kommt, was ich denn eigentlich will.......

Viele Grüße!

0
Ninombre 16.05.2016, 19:28
@Fr4gen

passwort allein reicht nicht (E-Mail Adresse als User-ID)

Mit den Formeln sollten die Werte in Spalte B und C übernommen werden. Stehen die Werte bei Dir denn in Spalte A? Wenn nicht: Was hast Du angepasst an den Formeln?

Eine ganz einfache Variante wäre:
Schreib neben die Liste der Werte einfach 1 und eine Zeile drunter 0. Die beiden Zellen markieren und mit dem von Oubyi beschriebenen Doppelklick sollte das Muster 0 / 1 bis zum Ende der Daten kopiert werden. Dann kannst Du einfach mit dem Autofilter die Werte 0 bzw. 1 filtern, kopieren und an den Wunschort einfügen.

Ginge natürlich auch mit Makro, das ist unterm Strich aber nicht schneller, v.a. wenn es eine Einmal-Aktion ist.

0
Fr4gen 16.05.2016, 22:21
@Ninombre

Hi, da fällt mir auf: So geht das nicht. Vielleicht war alternierend nicht das richtige Wort. In jede Woche fallen mehr als 1 Eintrag, also in eine Woche z.B. 10 und die nächste nur 3 und dann wieder 20. Daher kann ich das nicht von Zelle zu Zelle immer abwechselnd machen....

0
Ninombre 16.05.2016, 22:35
@Fr4gen

Die Daten sind so aber ganz anders aufgebaut, als bisher beschrieben. Da funktionieren die Formeln natürlich nicht. Wenn es da nur um GTA oder ähnliches geht, hab ich ehrlich gesagt aber auch keine große Motivation, da weitere Lösungen auszutüfteln. Daten -> Text in Spalten. Funktion Kalenderwoche, vielleicht kommt man damit hin

0
Ninombre 17.05.2016, 09:45
@Fr4gen

sorry, war gestern abend nicht in topstimmung... geht ja um Excel, egal wofür.

Wenn die Einträge wochenweise gruppiert werden sollen (da sind aber nicht nur ungerade Wochen enthalten!), würde ich weiterhin über den Autofilter gehen.

Da manche Einträge zerhackt sind (da stehen die Inhalte nicht nur in Spalte A, sondern auch in B) würde ich eine Zeile links einfügen, dass der Inhalt also in B steht. In B2 eine 1 schreiben und in B3

=WENN(KALENDERWOCHE(LINKS(B3;10))=KALENDERWOCHE(LINKS(B2;10));A2;WENN(A2=1;0;1))

Dann mit dem Doppelklick unten rechts die Formel bis ans Ende der Liste kopieren. Dauert etwas auf Grund der Menge.

Das gruppiert jetzt alle Einträge einer Kalenderwoche. Du kannst dann nach 0 oder 1 filtern und die Einträge irgendwo hinkopieren. Die Formel berücksichtigt aber nicht bestimmte Abstände zwischen den Wochen. Der Hinweis nur, weil Du in der Frage schreibst, es sollen 4 Wochen Abstände sein. Wenn es Kalenderwoche 10,11, 13 und 14 hinterander sind, kann man das mit zwei Spalten aber so nicht aufteilen.

0
Fr4gen 18.05.2016, 20:07
@Ninombre

Hallo Ninombre,

kein Problem - immerhin bist du auf der Helferseite, da bin ich für jeden Input dankbar. :)

Nochmal zurück zu den Daten:
Auf jeden Fall ist es so, dass die ungeraden Wochen die Trainingsdaten darstellen und die geraden die Testdaten. So zumindest die Beschreibung der Anbieter der Daten (Kaggle.com)

Das mit den 4 Wochen war so zu verstehen: Die Daten in der Tabelle sind (oder sollen) ja immer im 2-Wochen Abstand, da die jeweils dazwischen liegende Woche in den Testdaten (in der anderen Tabelle ist). Wenn ich nun die vorliegende Tabelle in 2 "Körbe" einteile, so bekomme ich am Ende doch wiederum 2 neue Tabellen, in denen die Wochen mit einem Abstand von vier Wochen drin stehen. Oder habe ich hier einen Denkfehler?

0
Ninombre 18.05.2016, 23:50
@Fr4gen

Die Kalenderwoche kannst Du Dir einfach zu holen (ich würde aus wegen der teilweise in Spalte B stehenden Daten auf jeden Fall die Formeln in neue Spalten links davon eintragen, also neue Spalte einfügen):

=KALENDERWOCHE(LINKS(B2;10))

zumindest die ersten paar tausend Einträge sind fortlaufen, d.h. KW20, KW19, KW18 etc. Ich kann nicht erkennen, wie man zwischen Training und Test unterscheiden kann.

Wenn Du erst mal gerade und ungerade Wochen trennen willst, wäre das so möglich:
=REST(KALENDERWOCHE(LINKS(B2;10));2)

gibt 0 und 1 aus

Ich hab die Daten jetzt nicht komplett angeschaut, aber meiner Meinung nach müsste man zunächst zwischen Training und Test trennen. Im Moment scheint es absteigend Daten für jede KW zu geben. Danach kann man die Trainingsdaten nochmals alternierend aufteilen und hätte dann 4 Wochen Abstände.

0

Was möchtest Du wissen?