Thema Datum  Von Nutzer Rating
Antwort
Rot Nächstgelegener Wert in einer Range suchen
25.02.2021 21:38:52 Till
NotSolved
26.02.2021 04:23:43 Gast21258
Solved
26.02.2021 10:01:17 Till
NotSolved
26.02.2021 14:54:18 Gast41007
*****
NotSolved
26.02.2021 10:42:13 Till
NotSolved
Blau ;o)
26.02.2021 14:49:46 Gast81181
NotSolved
26.02.2021 17:02:58 Till
NotSolved
26.02.2021 17:23:35 Gast68426
NotSolved
27.02.2021 14:16:09 Till
NotSolved
27.02.2021 22:42:32 Gast68426
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
25.02.2021 21:38:52
Views:
1011
Rating: Antwort:
  Ja
Thema:
Nächstgelegener Wert in einer Range suchen

Einen schönen Guten Abend,

ich habe folgende Tabelle (immer in sortierter Form) vorliegen. Die Tabelle kann vom Anwender des Programmes beliebig bearbeitet werden. Sprich es können neue Wertepaare für q und w dazu kommen. Es ist allerdings nie möglich einen Wert für q doppelt einzutragen (und wenn sich ein wert für q einordnet, ordnet sich auch der wert für w ein). 

q w
0,99 2,3263
0,98 2,0573
0,97 1,8808
0,96 1,7507
0,95 1,6449
0,94 1,5548
0,93 1,4758
0,92 1,4051
0,91 1,3408
0,9 1,2816
0,89 1,2265
0,88 1,175
0,87 1,1264
0,86 1,0803
0,85 1,0364
0,84 0,9945
0,83 0,9542
0,82 0,9154
0,81 0,8779
0,8 0,8416
0,79 0,8064
0,78 0,7722
0,77 0,7388
0,76 0,7063
0,75 0,6745
0,74 0,6433
0,73 0,6128
0,72 0,5828
0,71 0,5534
0,7 0,5244
0,69 0,4959
0,68 0,4677
0,67 0,4399
0,66 0,4125
0,65 0,3853
0,64 0,3585
0,63 0,3319
0,62 0,3055
0,61 0,2793
0,6 0,2533
0,59 0,2275
0,58 0,2019
0,57 0,1764
0,56 0,151
0,55 0,1257
0,54 0,1004
0,53 0,0753
0,52 0,0502
0,51 0,0251
0,5 0
   

Ich habe nun eine Funktion geschrieben(u.a. mit Hilfe dieses Forums), die nach dem Wert q sucht und wenn diesen gefunden hat, den dazugehörigen Wert w zurückgibt. Bisher handelt meine Funktion, wenn sie den Wert nicht findet, so, dass sie den Wert auf die vorletzte Kommastelle rundet, und den Wert neu in die Funktion gibt. Leider habe ich nun bemerkt, das dadurch rundungsfehler enstehen (unschön). Nun möchte ich das abändern indem ich, wenn ich den exakten wert nicht finde, den nächstgelegen Wert von q ansteuere.

Kurzes Beispiel :

durch den anwender wurde das wertepaar q=0,957 und w =1,7209 eingefügt. sucht er nun aber nach dem wert q=0,956 wird, weil ich bis jetzt runde, der wert von q=0,96 (also w=1,7507) zurückgegeben, obwohl augenscheinlich q=0,957 wesentlich näher dran liegt. 

Nun meine Frage: Gibt es eine Möglichkeit, in einer festgelegten Range (also spalte q) den nächgelegenen Wert zu suchen? 
Ich hatte nun schon die Idee den Wert für q  (mit einem belibigen wertpartner w) in die tabelle zu geben, nach q einzusortieren, anschließend nochmal nach q zu suchen und den oberen und unteren nachbar nach der differenz zu q zu prüfen und daraus den nächsten wert zu bestimmen. (anschließend natürlich wieder den wert für q und w rauslöschen.

Ich denke und hoffe aber, dass hier einige von euch schlauer sind als ich und mich auf den Weg einer eleganteren Lösung führen können.

Ich bedanke mich schonmal

Viele Grüße
Till


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Nächstgelegener Wert in einer Range suchen
25.02.2021 21:38:52 Till
NotSolved
26.02.2021 04:23:43 Gast21258
Solved
26.02.2021 10:01:17 Till
NotSolved
26.02.2021 14:54:18 Gast41007
*****
NotSolved
26.02.2021 10:42:13 Till
NotSolved
Blau ;o)
26.02.2021 14:49:46 Gast81181
NotSolved
26.02.2021 17:02:58 Till
NotSolved
26.02.2021 17:23:35 Gast68426
NotSolved
27.02.2021 14:16:09 Till
NotSolved
27.02.2021 22:42:32 Gast68426
NotSolved