Finden des nächsten Wertes
#1
Hallo zusammen,

ich muss für eine Berechnung stets die Differenz aus zwei Zahlen (hier grün und blau) bilden und das Ergebniss daraufhin ausgeben (hier gelb). Dabei wird immer vom grünen Wert ausgegangen und der nächstliegende blau Wert wird davon abgezogen (das ganze dann im Betrag). Der blaue Wert kann jedoch wie auch hier sowohl oberhalb als auch unterhalb des grünen liegen und davon auch unterschiedlich weit entfernt sein. Gibt es eine Möglichkeit hierfür eine Formel zu erhalten die ich daraufhin für die komplette Ergebnisspalte verwenden kann?

Mein bisheriger Versuch ist leider nicht der beste.... G ist die grüne Spalte, C die blaue

=WENN(G44=" ";" ";ABS(G44-WENN(C44=" ";C45;C43)))

Hier überprüf ich schon mal, ob der grüne Wert vorhanden ist. Allerdings würde es eine endlose WENN-Schleife werden den blauen Wert zu finden, da dieser auch 20 oder 30 Zeilen entfernt sein kann.

[
Bild bitte so als Datei hochladen: Klick mich!
]

Würde mich freuen, wenn mir jemand helfen könnte.

Beste Grüße
Matthias

Hier noch der Screenshot.


Angehängte Dateien Thumbnail(s)
   
Top
#2
edit: habe nicht richtig gelesen :)

lade selbst eine einfache Beispieldatei hoch :)
Top
#3
In der Datei ist die Gesuchte Zahl stets die "Distance to chlorophyll"-Spalte.
Aktuell wird da jeder Wert einzeln duch Subtraktion berechnet, aber das ist natürlich bei entsprechend vielen Dateien irgendwann nicht mehr einfach...


Angehängte Dateien
.xlsx   Test.xlsx (Größe: 49,74 KB / Downloads: 3)
Top
#4
was bedeutet nächsliegend?

der die geringste Zeilendifferenz hat?
oder der, der die geringste Wertedifferenz hat?
Top
#5
Die geringste Zeilendifferenz führt hier automatisch zur geringsten Wertedifferenz. In der Tabelle sind peaks und lows aufgeführt und es soll berechnet werden wie weit ein peak vom nächstgelegenen low entfernt ist, egal ob der benachbarte Punkt überhalb oder unterhalb liegt.
Top
#6
Hallo Matthias,

zB so:
Code:
=WENN(E3=" ";" ";ABS(INDEX(C:C;AGGREGAT(15;6;ZEILE($C$3:$C$325)/((ABS(ZEILE($C$3:$C$325)-ZEILE())/($C$3:$C$325<>" "))=AGGREGAT(15;6;ABS(ZEILE($C$3:$C$325)-ZEILE())/($C$3:$C$325<>" ");1));1))-E3))


Angehängte Dateien
.xlsx   Test-22.xlsx (Größe: 47,35 KB / Downloads: 4)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Most
Top
#7
ich habe dir mal einen Lösungsvorschlag angehängt
habe es mit Zusatzspalten stehen lassen, damit es übersichtlicher ist, man kann diese auch in eine Formel zusammen fassen.


Angehängte Dateien
.xlsx   kleinster_Abstand.xlsx (Größe: 60,7 KB / Downloads: 5)
[-] Folgende(r) 1 Nutzer sagt Danke an bug99 für diesen Beitrag:
  • Most
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste