Bereich durchsuchen

Hallo Listlinge,

um innerhalb eines Bereiches bestimmte Werte zu finden, kenne ich bisher nur den Weg über eine dann bekannte Zeile oder Spalte (VERGLEICH(); SVERWEIS() oder andere).

Gibt es die Möglichkeit oder eine Funktion, die einen ganzen Bereich nach einem Wert durchsucht?

Liebe Grüße

josinoro

  • =Index;Vergleich();Vergleich()

  • =Verschiebung(Bezug;Vergleich();Vergleich()

Hallo PKG,

vielen Dank für Deine Antwort. Ich werde damit mal experimentieren, obwohl ich jetzt auf die Schnelle konkret damit nichts anfangen kann.

Ich komme da nicht weiter. Die Funktion INDEX() gibt den Wert aus einer Matrix zurück, indem man Zeile und Spalte angibt. Aber genau diesen Wert habe ich ja, danach suche ich in der gesamten Matrix. Deshalb muss ich die Position innerhalb der Matrix bestimmen, damit ich die dazugehörigen Werte über Zeile und Spalte ermitteln kann.

Das du die Zeilenbeschriftung bzw. die Spaltenbeschriftung suchst, ist eine hilfreiche Information.
Die suchst du doch, oder?

Ja, da hast du recht, eine genauere Beschreibung vereinfacht so manches.
Ich suche nicht die Zeilen- oder Spaltenbeschriftung, sondern die links und/oder rechts stehenden, dazugehörigen Werte der gleichen Zeile. Ich möchte einen beliebigen Wert innerhalb einer Matrix suchen und dann die dazugehörigen Werte ausgeben.

Es ist an der Zeit, dass du anhand einer Datei genau zeigst, was du erwartest.
Denn ehrlich gesagt hab ich nicht verstanden, was du willst.

In der Beispieldatei habe ich eine relevante Tabelle mit Daten in der Größe 6 x 12 Werten aufgebaut.
Der Bereich _Monate dient nur zur Ermittlung der Zeile, sonst wäre es eine 7 x 12 Matrix.

Bisher war es so, dass ich zuerst eine Gruppe (hier der Bereich _Monate) und dann aus der daraus ermittelten Datenmenge (gleiche Zeile) einen Wert aus den relevanten Daten (ganze Zeile aus dem Bereich _Datenbereich) ausgewählt habe.

Ist der Wert des zweiten Auswahlfeldes nicht in der Datenmenge des ersten Auswahlfeldes, also nicht in der gleichen Zeile, so wird über eine bedingte Formatierung das zweite Auswahlfeld eingefärbt, um anzuzeigen, dass dann auch hier eine notwendige Auswahl erfolgen muss.

Die Werte aus dem Bereich _Monate werden aber nicht wirklich gebraucht, sie dienen lediglich zur Feststellung der Zeile, damit ich die dazugehörigen Werte auslesen kann.

Ziel ist es, einen beliebigen Wert aus dem Bereich _Datenbereich in einer Zelle zu benennen und dann alle dazugehörigen Werte auszulesen und in der Tabelle zu markieren. Damit möchte ich zum einen die Auswahl auf ein Auswahlfeld reduzieren und den kompletten Bereich _Monate streichen und zum anderen die ganze relevante Zeile in dem Bereich _Datenmenge einfärben.

Und da drehe ich mich immer im Kreis, ich komme nicht, ohne zuerst die Zeile aus der eindimensionalen Matrix zu ermitteln, an die Position des ausgewählten Wertes.

Gültigkeit verschicken.ods (49,6 KB)

@josinoro ;
Hoffe, ich habe es jetzt kapiert :grin:

Gültigkeit verschicken_2.ods (26,9 KB)

Hallo @PKG,

Die Erklärung war ja jetzt auch mehr als ausführlich.

Spaß bei Seite, das ist genau das, was ich erreichen möchte.

Es ist allerdings etwas frustrierend, wenn man tagelang an einem Problem bastelt und dann innerhalb von Stunden (nur Antwortzeit) eine korrekte Lösung geliefert bekommt.

Hut ab und herzlichen Dank für Deine Geduld und Mühe.

Wie Du vielleicht an meiner Beispieldatei gesehen hast, versuche ich mich solcher Themen Schritt für Schritt zu nähern. Manchmal auch mit Erfolg. Das, was Du da gemacht hast, muss ich mir noch genauer anschauen, um überhaupt zu verstehen, was Du wie und warum gemacht hast.

Hallo @PKG,

in der Tabelle (Gültigkeit 2) habe ich jetzt Deine Lösung mit aufgenommen und zerlegt, damit ich das Ganze verstehen kann. Ich habe ein bisschen gebraucht, um bei dem SUMMENPRODUKT() die Multiplikation mit dem Ergebnis des Vergleiches (wahr/falsch bzw. 1/0) mit der Zeilennummer des Bereiches zu verstehen. Dieser Teil liefert ja schon die Zeilennummer. Ich habe das in der zweiten Tabelle (Gültigkeit 3) sogar etwas verkürzen können.

Die bedingte Abfrage funktioniert mit RegEx so nicht, weil die Einträge nur in der Beispieldatei ähnlich sind. Ich habe jetzt mit der Zeilennummer verglichen.

Es wird sehr wahrscheinlich keine doppelten Einträge geben, ist aber nicht auszuschließen.
Besteht denn die Möglichkeit auch bei doppelten Werten zu einem Ergebnis zu kommen?

Gültigkeit 2 verschicken.ods (56,9 KB)

Mach es nicht so kompliziert, Du musst doch nur prüfen, ob das Suchkriterium in Zeilen des Suchbereichs vorkommt.
Jetzt kannst Du entweder direkt den “ausgeworfenen” Index als Suchkriterium nehmen

oder Du nimmst die Funktion Zählenwenn um im Datenbereich zu suchen:
Formel ist: ZÄHLENWENN($C14:$H14;$C$11)

Wie hast du es dir vorgestellt, so?

Das sieht nach Idealfall aus. :smiley:

Na dann, frohe Ostern.
Gültigkeit verschicken_2024-03-31.ods (34,1 KB)

Mann oh Mann, du forderst mich. Ganz herzlichen Dank.
Das werde ich nächste Woche mal für mich “auseinanderpflücken”.

Dir auch, wie auch allen anderen Lesern, ein gesegnetes Osterfest.

Versuch-und-Irrtum!?:
0_LO-CALC_benachbarte Werte finden.ods (12.8 KB)

Hallo @koyotak,

vielen Dank für Deine Mühe. Das hilft mir zwar hier nicht richtig weiter, ist aber eine interessante Vorgehensweise, die ich mir bei Gelegenheit genauer anschauen werde.

Liebe Grüße

josinoro