Nach ähnlichem Zelleninhalt suchen

  • Excel

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von toxit.

    Nach ähnlichem Zelleninhalt suchen

    Hi,

    ich habe nicht allzu viel Ahnung von VBA und hoffe ihr könnt mir weiterhelfen.
    Ich habe eine Tabelle mit zwei Spalten. In Spalte A stehen Werte für die Kraft und in Spalte B die dazugehörigen Winkel.

    Nun möchte ich mit VBA in dieser Tabelle nach einem bestimmten Wert in Spalte A suchen und mir dann die komplette Zeile kopieren lassen.
    Mein Hauptproblem ist jetzt, dass der Wert den ich suche möglicherweise nicht exakt in der Tabelle vorkommt. In dem Fall bräuchte ich einfach den Wert der am nächsten dranliegt.

    Schonmal vielen Dank für die Antworten

    Gruß Daniel
    Was heißt "nicht exakt".

    Wenn es nur um rundungen geht kannst du durch die werte iterieren und diese runden und vergleichen,
    das is halt relativ unperformant.

    Alternativ kannst du, falls es nur um nachkommastellen geht,
    durch die werte iterieren und vergleichen, ob der wert zwischen wert-0.25 und wert+0.25 liegt oder so ähnlich.

    Dies ist auch nicht sonderlich performant, solange du nicht hunderttausende werte in der tabelle hast,
    sollte der Geschwindigkeitsverlust aber vernachlässigbar sein.
    Erstmal danke für die schnelle Antwort.
    Also ich lasse mir den Maximalwert ausrechnen. Und von dem brauche ich dann jeweils das 0,1-fache, 0,4-fache, und 0,8-fache.
    Da ich mir die ausrechnen lasse kommen die in der Liste nicht zwangsläufig vor. Die Werte sind alle mit 4 Nachkommastellen.
    Ich bräuchte dann eben den Wert der am nächsten dran ist. Es könnte jetzt hald sein dass der nächste Wert über oder unter dem errechneten liegt. Deswegen weis ich nicht wie ich da machen soll.
    Könntet ihr mir vielleicht mal ein Beispiel-Code für eure Lösungen schreiben?

    Gruß Daniel
    Was auch gehen würde wäre wenn ich einfach irgendwie ne Regressionsgerade da reinlegen könnte. Das Problem dabei ist, dass nur der erste Teil der Kurve linear verläuft.
    Gibt es da eine Möglichkeit nur in diesem Teil eine Gerade aufstellen zu lassen?
    Ich würde das ganze gerne per Code machen, da ich das ziemlich häufig machen muss.
    schreibe die werte deiner spalte in ein arraylist und lass diese sortieren. dann hast du den maximalwert als letzten item der liste.
    wenn du aber einen wert suchst der irgendwo dazwischen liegt musste dir eine standardabweichung definieren. also z.b. "Suchwert - Tabellenwert <=0,0001"
    worauf läuft denn deine suche eigentlich hinaus? willst du ein diagramm draus machen oder die Wirkwinkelkurve für weitere berechnungen heran ziehen?

    affrop schrieb:

    schreibe die werte deiner spalte in ein arraylist und lass diese sortieren
    Das wird schwierig in VBA.
    Aber du kannst zumindest deine Excel-Spalte (oder eine Kopie davon) sortieren.

    Es könnte jetzt hald sein dass der nächste Wert über oder unter dem errechneten liegt. Deswegen weis ich nicht wie ich da machen soll.
    Vergleiche "unscharf" mit Lookup.
    Berechne den Abstand zu diesem Wert und zu dem Wert davor (oder danach, je nach Sortierung).
    Den näheren davon nimmst du.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()