Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: jeden 5. Wert auslesen

jeden 5. Wert auslesen
Roland
Moin zusammen,
ich habe folgenden Datensatz (hier nur Auszug, es sind rund 2000 Zeilen):
Spalte A Spalte B
19.06.2009 15:00 -0,65
19.06.2009 15:01 -0,655
19.06.2009 15:02 -0,662
19.06.2009 15:03 -0,664
19.06.2009 15:04 -0,663
19.06.2009 15:05 -0,656
19.06.2009 15:06 -0,647
19.06.2009 15:07 -0,658
19.06.2009 15:08 -0,669
19.06.2009 15:09 -0,675
19.06.2009 15:10 -0,681
19.06.2009 15:11 -0,687
19.06.2009 15:12 -0,691
19.06.2009 15:13 -0,712
19.06.2009 15:14 -0,702
19.06.2009 15:15 -0,712
19.06.2009 15:16 -0,715
19.06.2009 15:17 -0,727
19.06.2009 15:18 -0,733
19.06.2009 15:19 -0,741
19.06.2009 15:20 -0,742
nun möchte ich nur jeweils das Wertepaar, was bei den 5 Minutenwerten steht in einer neuen Tabelle weiterverarbeiten. Noch ein Hinweis, das Datum ist ebenfalls fortlaufend.
Kann mir jemand helfen?
Schonmal danke für's Lesen.
Gruß
Roland
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: =INDEX(B:B;ZEILE()*5) in ...
10.09.2009 09:37:34
Chris
... C2 und runterkopieren; in C1 = B1.
Gruß
Chris
AW: Verbesserung
10.09.2009 09:43:59
Chris
Servus,
die Formel funktioniert nur ab C1, ist mir gerade aufgefallen,und der erste Wert ist dann auch nicht vorhanden.
Gruß
Chris
AW: jeden 5. Wert auslesen
10.09.2009 09:47:14
Peter
Hallo Roland,
wenn die Daten immer alle vorhanden sind - jede Minute - dann so:
Public Sub Kopieren()
Dim WkSh_Q    As Worksheet
Dim WkSh_Z    As Worksheet
Dim lZeile_Q  As Long
Dim lZeile_Z  As Long
Application.ScreenUpdating = False
Set WkSh_Q = ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
Set WkSh_Z = ThisWorkbook.Worksheets("Tabelle2") ' den Tabellenblattnamen ggf. anpassen!
WkSh_Q.Range("A1:B1").Copy Destination:=WkSh_Z.Range("A1")
lZeile_Z = 2
For lZeile_Q = 2 To WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row Step 5
WkSh_Q.Range("A" & lZeile_Q & ":B" & lZeile_Q).Copy _
Destination:=WkSh_Z.Range("A" & lZeile_Z)
lZeile_Z = lZeile_Z + 1
Next lZeile_Q
Application.ScreenUpdating = True
End Sub

Gruß Peter
Anzeige
AW: jeden 5. Wert auslesen
10.09.2009 09:58:29
ede
Hallo,
mal unabhängig von der Zeile und der fortlaufenden Minute kannst du über eine Hilfspalte mal folgende Formel testen, für Zelle A3:
=WENN(ODER(RECHTS(TEXT(MINUTE(A3);"@");1)="0";RECHTS(TEXT(MINUTE(A3);"@");1)="5");1;"")
Gruss
AW: jeden 5. Wert auslesen
10.09.2009 10:33:11
Roland
Erstmal herzlichen Dank für die Antworten.
@Chris: wenn nur der erste Wert fehlen würde, wäre das ja noch per Hand zu editieren, also möglich.
@Ede: bei Deiner Version spuckt er mir nur eine "1" in der neuen Spalte aus, aber die Werte sind nicht neu zusammengefasst
@Peter:
Es funzt soweit gut, nur ich bekomme folgenden neuen Datensatz:
19.06.2009 15:00 -0,65
19.06.2009 15:01 -0,655
19.06.2009 15:06 -0,647
19.06.2009 15:11 -0,687
19.06.2009 15:16 -0,715
19.06.2009 15:21 -0,748
Es wird der erste Wert übertragen udn dann ausgehend vom 2. Wert jeder 5.
Kann man das evtl. noch ändern?
Gruß
Roland
Anzeige
AW: jeden 5. Wert auslesen
10.09.2009 10:36:31
ede
Hallo,
für "Excel gut" kann mal schon ein wenig mitdenken! Ersezte in der Formel die 1 in der JA-Bedingung der wenn-formel durch C3 und setzte eine Filter auf die Spalte C, dann hast Du nur die Zeilen, welche Du brauchst und auch keine doppelte Datenhaltung!
Gruss
AW: jeden 5. Wert auslesen
10.09.2009 10:41:07
Roland
@Ede, danke, soweit weiß ich es auch. Ich brauche aber eben die doppelte Datenhaltung, sorry, falls ich es falsch ausgedrückt habe.
@Chris: wenn ich deine Formel folgendermaßen schreibe funktioniert es:
=index(b:b;zeile()*5-3
Anzeige
AW: jeden 5. Wert auslesen
10.09.2009 10:57:36
Peter
Hallo Roland,
ich habe mit Deinen Daten folgendes Ergebnis:
Spalte A Spalte B
19.06.2009 15:00 -0,65
19.06.2009 15:05 -0,656
19.06.2009 15:10 -0,681
19.06.2009 15:15 -0,712
19.06.2009 15:20 -0,742
War es nicht so gewünscht!?
Gruß Peter
@Peter: hab Fehler gefunden. Danke!
11.09.2009 08:35:54
Roland
Hallo Peter,
merkwürdig, dass Du einen anderen Datensatz erhältst als ich....
Ich hab das Problem gefunden. Ich vermute, Du hast Spaltenüberschriften darüber gehabt. Dadurch kam die Verschiebung zustande!
Ich danke Dir herzlich!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Jeden 5. Wert aus Excel auslesen


Schritt-für-Schritt-Anleitung

Um jeden 5. Wert aus einem Datensatz in Excel auszulesen, kannst du folgende Schritte ausführen. Diese Anleitung geht davon aus, dass du Excel 2016 oder eine neuere Version verwendest.

  1. Öffne deine Excel-Datei mit dem Datensatz, den du analysieren möchtest.

  2. Erstelle eine neue Tabelle (z. B. "Tabelle2"), wo die Ergebnisse gespeichert werden sollen.

  3. Gib die Formel in die Zelle C2 der neuen Tabelle ein:

    =INDEX(B:B;ZEILE()*5-3)

    Diese Formel holt jeden 5. Wert aus Spalte B.

  4. Ziehen die Formel nach unten bis zur gewünschten Zeile, um alle entsprechenden Werte zu extrahieren.

Falls du die Daten in einem anderen Format benötigst, kannst du die Formel entsprechend anpassen.


Häufige Fehler und Lösungen

Einige häufige Fehler, die bei der Anwendung der Formel entstehen können:

  • Problem: Der erste Wert fehlt.

    • Lösung: Stelle sicher, dass du die Formel in der richtigen Zelle (C2) beginnst und die Formel korrekt eingegeben ist.
  • Problem: Die Werte werden nicht korrekt übertragen.

    • Lösung: Überprüfe, ob in deiner Tabelle Überschriften vorhanden sind, die die Indizes verschieben könnten.

Alternative Methoden

Wenn du keine Formeln verwenden möchtest, kannst du auch VBA (Visual Basic for Applications) nutzen, um jeden 5. Wert auszulesen:

  1. Öffne den VBA-Editor (ALT + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
    Public Sub Kopieren()
       Dim WkSh_Q As Worksheet
       Dim WkSh_Z As Worksheet
       Dim lZeile_Q As Long
       Dim lZeile_Z As Long
       Application.ScreenUpdating = False
       Set WkSh_Q = ThisWorkbook.Worksheets("Tabelle1") ' Tabellenblattnamen anpassen!
       Set WkSh_Z = ThisWorkbook.Worksheets("Tabelle2") ' Tabellenblattnamen anpassen!
       WkSh_Q.Range("A1:B1").Copy Destination:=WkSh_Z.Range("A1")
       lZeile_Z = 2
       For lZeile_Q = 2 To WkSh_Q.Cells(Rows.Count, 1).End(xlUp).Row Step 5
           WkSh_Q.Range("A" & lZeile_Q & ":B" & lZeile_Q).Copy _
           Destination:=WkSh_Z.Range("A" & lZeile_Z)
           lZeile_Z = lZeile_Z + 1
       Next lZeile_Q
       Application.ScreenUpdating = True
    End Sub
  4. Führe das Makro aus (F5), um die Werte in die neue Tabelle zu übertragen.

Praktische Beispiele

Angenommen, dein Datensatz sieht wie folgt aus:

Spalte A Spalte B
19.06.2009 15:00 -0,65
19.06.2009 15:01 -0,655
19.06.2009 15:02 -0,662
19.06.2009 15:03 -0,664
19.06.2009 15:04 -0,663
19.06.2009 15:05 -0,656

Nach Anwendung der oben beschriebenen Methode sollte das Ergebnis in Tabelle2 so aussehen:

Spalte A Spalte B
19.06.2009 15:00 -0,65
19.06.2009 15:05 -0,656
19.06.2009 15:10 -0,681

Tipps für Profis

  • Verwende die Filterfunktion, um nur die relevanten Werte anzuzeigen, nachdem du die Daten extrahiert hast.
  • Nutze bedingte Formatierung, um bestimmte Werte hervorzuheben, was die Datenanalyse erleichtert.
  • Automatisiere den Prozess mit VBA, um Zeit zu sparen, wenn du häufig ähnliche Aufgaben erledigen musst.

FAQ: Häufige Fragen

1. Warum funktioniert die Index-Formel nicht?
Stelle sicher, dass du die Formel in der richtigen Zelle eingibst und dass genügend Daten in der Quelle vorhanden sind.

2. Wie kann ich die Formel anpassen, um jeden 10. Wert auszulesen?
Ändere die Zahl in der Formel von 5 auf 10:

=INDEX(B:B;ZEILE()*10-9)

3. Was mache ich, wenn ich die Daten in eine andere Tabelle übertragen möchte?
Ändere den Tabellennamen in der Formel oder im VBA-Code entsprechend, um die Ziel-Tabelle anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige