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

Forumthread: Zelle auslesen daneben und darunter

Zelle auslesen daneben und darunter
20.03.2022 13:02:24
Detlef
Hallo liebe Excel Wissenden,
ich habe eine Tabelle die 2 Blätter hat " Daten " und " Zieltabelle".
Nun möchte ich in "Daten" immer nach einem Begriff in Spalte "A" suchen (Data No.) und sobald dieser gefunden wurde, den Wert der Zelle rechts daneben und 1 Zeile tiefer auslesen.
Mit:
=WENNFEHLER(INDEX(Daten!B:B;AGGREGAT(15;6;ZEILE(Daten!A:A)/(FINDEN("Data No.";Daten!A:A)>0);ZEILE() -1));"")
erhalte ich als Ergebnis jedoch immer nur den Wert, der in "DATEN" rechts von "Data No." steht.
Die Tabelle hat mehrere tausend Zeilen und der Begriff "Data No." bezeichnet immer den Anfang eines neuen Blocks mit Daten, die Blöcke sind unterschiedlich lang.
Wenn es zu kompliziert geschrieben ist, dann bitte in die beigefügte Demo-Datei

ttps://www.herber.de/bbs/user/151904.xlsx
schauen und die gelb markierten Felder beachten. In der Zieltabelle würde ich dann gerne die Formel einfach runterziehen, so dass ich letztlich in der Zieltabelle immer in einer Zeile den Beginn eines neuen Blocks in einer Zeile stehen habe.
Vielen, lieben Dank für eure Hilfe!
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle auslesen daneben und darunter
20.03.2022 13:10:14
onur
WAS soll denn jetzt dort stehen?
AW: Zelle auslesen daneben und darunter
20.03.2022 13:19:23
Detlef
Datum und Uhrzeit der ersten Datenreihe aus dem Blatt "Daten" Spalte B, jeweils der erste Eintrag unter "Date&Time" wenn es möglich ist bitte
AW: Zelle auslesen daneben und darunter
20.03.2022 14:27:56
onur
Unnötig kompliziert, da deine Datensätze chaotisch aufgelistet sind. Muss das so sein?
Anzeige
AW: Zelle auslesen daneben und darunter
20.03.2022 14:35:55
Detlef
ja leider, es sind Messwerte von Messfahrten, die ausgewertet werden, in Summe 52000 Zeilen im Original
AW: Zelle auslesen daneben und darunter
20.03.2022 14:36:59
onur
Kommen die exakt so an bei Dir?
AW: Zelle auslesen daneben und darunter
20.03.2022 15:00:20
onur
Wenn du die Daten per Makro SO aufbereitest, wird alles wesentlich einfacher.
Teste mal:
https://www.herber.de/bbs/user/151908.xlsm
Anzeige
AW: Zelle auslesen daneben und darunter
20.03.2022 15:36:50
Detlef
ja, so aus dem Messgerät, es sollte doch einen Weg geben, mit dem ich sagen kann, Inhalt rechts neben und 1 Zeile tiefer auslesen, oder?
AW: Zelle auslesen daneben und darunter
20.03.2022 15:38:45
Detlef
OK, das umkopieren der Spalte mit Deinem Macro funktioniert, könnte aber bei über 50.000 Zeilen etwas dauern. Aber wie komme ich dann mit meiner Forrnel weiter? Danke aber schon mal für Deine Hilfe dabei:-)
Anzeige
AW: Zelle auslesen daneben und darunter
20.03.2022 15:47:00
onur
Wieso dauern? Das Makro kopiert die GANZE Spalte in 2-3 sec.
"Aber wie komme ich dann mit meiner Forrnel weiter? " ? Dafür müsste ich wissen, was deine Formel B und C der Zieltabelle berechnen sollen.
AW: Zelle auslesen daneben und darunter
20.03.2022 16:00:21
Detlef
Ich hätte gerne in der Zieltabelle jeweils das Ergebnis je Straße Zeilenweise dargestellt, das klappt auch perfekt. Nun wünsche ich mir eben, dass man in der Tabelle eben außer den Werten auch den Zeitpunkt der Messung mit auslesen kann.

Userbild
wobei grün eben der Auslöser bei der Suche und gelb hinterlegt der gewünschte Zellinhalt
Das ganze soll also später so aussehen:

Userbild
Danke und liebe Grüße
Anzeige
AW: Zelle auslesen daneben und darunter
20.03.2022 16:02:30
onur
Die Frage war doch: "was deine Formeln (in Spalten) B und C der Zieltabelle berechnen sollen".
AW: lässt sich mit ner kleinen Formel berechnen ..
20.03.2022 16:02:46
neopa
Hallo Detlef,
... und zwar in z.B. D2 so: =INDEX(Tabelle1!C$3:C$50003;VERGLEICH(B2;Tabelle1!A$1:A$50000;0))
Allerdings sollte in Tabelle1!A1 auch korrekt Alvendingk stehen, was bei Dir nicht der Fall ist.
Zu Deinen anderen Formeln, Auch wenn diese keinen spez. Matrixformelabschluss benötigen, sind es doch Matrixformeln und solche sollten neimals über den gesamten Spaltenbereich auswerten.
Also in B2 besser: so:
=WENNFEHLER(INDEX(Tabelle1!H:H;AGGREGAT(15;6;ZEILE(Tabelle1!B$1:B$50000)/FINDEN("Mittelwert";Tabelle1!B$1:B$50000)^0;ZEILE()-1));"")
und nach unten kopieren.
Analog in C2:
=WENNFEHLER(INDEX(Tabelle1!C:C;AGGREGAT(15;6;ZEILE(Tabelle1!B$1:B$50000)/FINDEN("Mittelwert";Tabelle1!B$1:B$50000)^0;ZEILE()-1));"")
Alternativ ganz ohne Formeln und ohne VBA mit Power Query.
Gruß Werner
.. , - ...
Anzeige
AW: lässt sich mit ner kleinen Formel berechnen ..
20.03.2022 16:37:14
Detlef
Hallo Werner,
danke für den Tipp, scheint zu klappen, wenn ich aber die Formel nach unten ziehe, nimmt er immer den Zellinhalt der nächsten Zeile, nicht aber den Wert der dann im nächsten Block steht.

https://www.herber.de/bbs/user/151912.xlsm
, kannst Du mir da auch bitte noch helfen?
Anzeige
AW: das ist aber eine ganz andere Datei ...
20.03.2022 16:53:16
neopa
Hallo Detlef,
... ich hab die Formeln in Bezug auf Deine zuerst eingestellte Datei aufgestellt. Und da sieht es so aus:
Arbeitsblatt mit dem Namen 'Zieltabelle'
 BCD
2Alvendingk5,164,49666643
3Beedenbosteler Weg5,753,45000005
4Jägerberg4,454,04999971
5Jägerberg6,594,04999971
6Weidenweg6,032,75666642
7   

ZelleFormel
B2=WENNFEHLER(INDEX(Tabelle1!H:H;AGGREGAT(15;6;ZEILE(Tabelle1!B$1:B$50000)/FINDEN("Mittelwert";Tabelle1!B$1:B$50000)^0;ZEILE()-1));"")
C2=WENNFEHLER(INDEX(Tabelle1!C:C;AGGREGAT(15;6;ZEILE(Tabelle1!B$1:B$50000)/FINDEN("Mittelwert";Tabelle1!B$1:B$50000)^0;ZEILE()-1));"")
D2=INDEX(Tabelle1!C$3:C$50003;VERGLEICH(B2;Tabelle1!A$1:A$50000;0))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: das ist aber eine ganz andere Datei ...
20.03.2022 17:11:58
Detlef
Hallo,
herzlichen Dank für eure Bemühungen, ich habe einen Weg gefunden:
Über Suchen & Ersetzen mit dem Zusatz "gesamte Zelle vergleichen" tausche ich die Ziffer "1" gegen einen Begriff "Start" und dann über

WENNFEHLER(INDEX(Tabelle1!B:B;AGGREGAT(15;6;ZEILE(Tabelle1!A:A)/(FINDEN("Start";Tabelle1!A:A)>0);ZEILE()-1));"")
auslesen, funktioniert!
Wenn ihr eine bessere Idee habt, freue ich mich über eure Anregungen,
Danke noch mal und liebe Grüße
Detlef
Anzeige
AW: ich kann nur nochmal darauf verweisen, ...
20.03.2022 18:56:16
neopa
Hallo Detlef,
... in derartigen Matrixformeln nicht den gesamten Zeilenbereich auswerten zu lassen, sondern nur den max. notwendigen.
Also anstelle:
= WENNFEHLER(INDEX(Tabelle1!B:B;AGGREGAT(15;6;ZEILE(Tabelle1!A:A)/(FINDEN("Start";Tabelle1!A:A)&gt0); ZEILE()-1));"")
besser (für Deine bisherige Angabe) so:
=WENNFEHLER(INDEX(Tabelle1!B:B;AGGREGAT(15;6;ZEILE(Tabelle1!A$1:A$50000)/(FINDEN("Start"; Tabelle1!A$1:A$50000)&gt0);ZEILE()-1));"")
Anstelle ... /(FINDEN("Start";Tabelle1!A$1:A$50000)&gt0); ... geht auch /FINDEN("Start";Tabelle1!A$1:A$50000)^0;...
Gruß Werner
.. , - ...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelle auslesen daneben und darunter


Schritt-für-Schritt-Anleitung

Um in Excel den Wert einer Zelle auszulesen, der sich rechts neben und eine Zeile darunter befindet, kannst Du folgende Schritte befolgen:

  1. Öffne Deine Excel-Datei und gehe zum Blatt "Zieltabelle".

  2. Wähle die Zelle aus, in der das Ergebnis angezeigt werden soll.

  3. Verwende die folgende Formel:

    =WENNFEHLER(INDEX(Daten!B:B; AGGREGAT(15; 6; ZEILE(Daten!A:A) / (FINDEN("Data No."; Daten!A:A) > 0); ZEILE() - 1) + 1); "")

    Hierbei wird der Wert in Spalte B aus der "Daten"-Tabelle ausgelesen, der sich neben "Data No." befindet.

  4. Passe die Formel an, um auch den Wert unterhalb auszulesen, indem Du die Zeile erhöhst:

    =WENNFEHLER(INDEX(Daten!B:B; AGGREGAT(15; 6; ZEILE(Daten!A:A) / (FINDEN("Data No."; Daten!A:A) > 0); ZEILE())); "")
  5. Ziehen die Formel nach unten, um die Werte für alle "Data No." Einträge auszulesen.


Häufige Fehler und Lösungen

  • Fehler: Falscher Zellinhalt wird angezeigt
    Wenn Du den falschen Zellinhalt erhältst, überprüfe die Suchkriterien in der FINDEN-Funktion. Stelle sicher, dass der gesuchte Begriff genau angegeben ist.

  • Fehler: #NV-Fehler
    Dieser Fehler tritt auf, wenn kein passender Wert gefunden wird. Um dies zu vermeiden, kannst Du die WENNFEHLER-Funktion verwenden, um einen leeren String zurückzugeben.

  • Fehler: Fehler beim Kopieren der Formel
    Achte darauf, dass die Zellbezüge korrekt angepasst werden, wenn Du die Formel nach unten ziehst. Verwende absolute Bezüge (z.B. A$1:A$50000), um dies zu verhindern.


Alternative Methoden

  1. Verwendung von Power Query: Anstatt komplizierte Formeln zu verwenden, kannst Du auch Power Query nutzen, um die Daten effizienter zu verarbeiten. Dies ist besonders nützlich, wenn Du mit großen Datenmengen arbeitest.

  2. Verwendung eines Makros: Wenn Du regelmäßig die gleichen Daten analysierst, könnte ein VBA-Makro eine zeitsparende Lösung sein. Du kannst ein Makro erstellen, das die benötigten Zellen automatisch ausliest.


Praktische Beispiele

  • Beispiel 1: Du möchtest den AW-Wert eines Messgeräts aus der Tabelle auslesen. Die Formel könnte so aussehen:

    =WENNFEHLER(INDEX(Daten!B:B; AGGREGAT(15; 6; ZEILE(Daten!A:A) / (FINDEN("AW-Wert"; Daten!A:A) > 0); ZEILE() - 1)); "")
  • Beispiel 2: Um den Excel Zelleninhalt auszulesen, der sich rechts neben einem bestimmten Begriff befindet, kannst Du diese Formel verwenden:

    =WENNFEHLER(INDEX(Daten!C:C; AGGREGAT(15; 6; ZEILE(Daten!A:A) / (FINDEN("Mittelwert"; Daten!A:A) > 0); ZEILE())); "")

Tipps für Profis

  • Nutze die dynamischen Array-Funktionen in neueren Excel-Versionen (z.B. Excel 365) für effektivere Datenanalysen.
  • Vermeide die Berechnung über ganze Spalten, um die Performance bei großen Tabellen zu verbessern. Statt B:B solltest Du den Bereich wie B$1:B$50000 verwenden.
  • Teste Deine Formeln regelmäßig mit kleineren Datenmengen, bevor Du sie auf die gesamte Tabelle anwendest.

FAQ: Häufige Fragen

1. Wie kann ich den Wert einer Zelle auslesen, die sich in einer anderen Tabelle befindet?
Verwende den Tabellenbezug in Deiner Formel, z.B. =Tabelle1!B2, um auf Zellen in einer anderen Tabelle zuzugreifen.

2. Gibt es eine Möglichkeit, die Formel zu automatisieren?
Ja, Du kannst ein VBA-Makro erstellen, das die gewünschte Funktionalität automatisiert, besonders bei großen Datenmengen.

3. Was tun, wenn die Formel zu lange dauert?
Reduziere den Datenbereich in Deinen Formeln und vermeide es, die gesamte Spalte zu referenzieren. Das verbessert die Performance erheblich.

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