Microsoft Excel

Herbers Excel/VBA-Archiv

Werte Vergleichen

Betrifft: Werte Vergleichen von: Hans
Geschrieben am: 07.03.2016 12:29:01

Hallo liebe excel-Freunde,

leider habe ich einige Probleme in VBA, bräuchte jedoch dringend eine Funktion.. Ich hoffe Ihr versteht mein Problem und könnt mir weiterhelfen:

Für meine Mathe-Nachhilfe habe ich eine Tabelle mit beliebig vielen Werten (ca.200 Stück).

Diese Werte sind in etwa so aufgebaut:

1 4

2 11

3 10

4 8

5 5,3

6 -1

7 -5

8 -6

9 -3

10 -1

11 2

12 6,4 .............

Folgendes sollte nun passieren:

Es werden immer 3 Werte miteinander verglichen. Wenn der Mittlere Wert am größten ist, bzw am kleinsten ist (also einen Mathematischen Extrempunkt ergibt), sollte es durch alle zugehörigen Werte eine Ausgleichsfunktion (am besten polynomisch mit Grad 5) in das Schaubild einzeichnen (und am Besten die Formel anzeigen/in eine oder mehrere Zellen schreiben, damit damit weitergerechnet werden kann). Zugehörige Werte sind z.B. bei Hochpunkten alle, bei denen die werte nach links und rechts immer kleiner werden (bis maximal 0, also der Schnittpunkt mit der X-Achse). Leider scheitere ich mit meinen Excel-Kenntnissen schon an dem Vergleich der Werte (3 Zellen die hintereinander liegen...). Wenn nun die ersten 3 Zellen verglichen wurden, sollten die Zellen 2 bis 4 verglichen werden, danach 3 bis 5 etc, bis alle Hoch und Tiefpunkte eingezeichnet und die Formeln nacheinander in eine separate Tabelle geschrieben wurden (z..B. Tabelle 2).



Ich hoffe Ihr könnt mir weiterhelfen, da ich etwas verzweifelt bin und ich schon einige Wochen an dem Thema rumprobiere, jedoch wieder bei 0 gelandet bin ... :(

  

Betrifft: AW: mit MITTELWERT() und AGGREGAT() ... von: ... neopa C
Geschrieben am: 07.03.2016 13:00:11

Hallo Hans,

... kannst Du Dir Deine Extremwerte ermitteln.

Bzgl. Deiner Beispieldaten so (Formeln ziehend nach unten kopieren):

 ABCDE
14 MittelwerteMaximaMinima
211 8,3333333339,66666672
310 9,6666666676,43,76666667
48 7,7666666674,6666667 
55,3 4,766666667  
61 3,766666667  
75 4  
86 4,666666667  
93 3,333333333  
101 2  
112 3,133333333  
126,4 4,2  
13  6,4  
14     

Formeln der Tabelle
ZelleFormel
C2=MITTELWERT(A1:A3)
D2=WENNFEHLER(AGGREGAT(14;6;C$3:C$199/(C$2:C$198<C$3:C$199)/(C$4:C$200<C$3:C$199); ZEILE(A1)); "")
E2=WENNFEHLER(AGGREGAT(15;6;C$3:C$199/(C$2:C$198>C$3:C$199)/(C$4:C$200>C$3:C$199); ZEILE(A1)); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Werner
.. , - ...


  

Betrifft: AW: mit MITTELWERT() und AGGREGAT() ... von: Hans
Geschrieben am: 07.03.2016 14:36:24

Hallo Werner,

vielen vielen Dank für deine schnelle Antwort inklusive Lösungsversuch! :)
Leider benögtige ich die Formel der Ausgleichsgeraden durch die Einzelnen und nicht zusammenhängenden Hoch und Tiefpunkte. Mit dieser Formel will ich weiter rechnen.
Dazu haben die einzelnen Hoch und Tiefpunkte nichts miteinander zu tun, also es handelt sich um einzelne Extrempunkte, die zufälligerweise in einer Liste stehen. Pro Extrempunkt soll eine eigene ausgleichsgerade angelegt werden die eine individuelle Formel hat. Also in etwa so:
https://www.herber.de/bbs/user/104161.xlsx

Ich habe nun manuell Hochpunkt herausgefunden durch den Abgleich mit dem Wert dazwischen :
3
4
11
10
8
9

da die Werte 3,4,11 steigend sind passiert nichts, nun wird das nächste 3er Paket angeschaut, also die 4,11,10. Da der Mittlere Wert höher ist als die umliegenden handelt es sich bei mir um einen Hochpunkt.
Nun soll eine Ausgleichsfunktion mit dem höchstmöglichen Grad durchgelegt werden. Diese Werte werden alle genommen bis sie wieder beginnen zu steigen oder negativ werden (siehe Farbliche Kennzeichnung).

Ich hoffe ich konnte mein Problem nun etwas genauer formulieren.

Vielen Dank schon im Voraus ! :)


  

Betrifft: AW: mit MITTELWERT() und AGGREGAT() ... von: SF
Geschrieben am: 07.03.2016 15:04:05

Hola,

http://ms-office-forum.net/forum/showthread.php?t=330888

Gruß,
steve1da


  

Betrifft: AW: wo soll es weiter gehen? ... von: ... neopa C
Geschrieben am: 07.03.2016 16:23:38

Hallo hans,

... hast Du Deine Frage noch in anderen Foren gestellt? Gibt es da schon Rückäußerungen?

Gruß Werner
.. , - ...


  

Betrifft: AW: wo soll es weiter gehen? ... von: Hans
Geschrieben am: 07.03.2016 16:28:12

Hallo Werner,

nein leider noch keine Rückmeldungen zu dem Thema :/
Ich tüftle auch schon die ganze Zeit weiter aber komme einfach nicht voran :/
Kennst du dich etwas damit aus?

Am liebsten hier weiter, werde dann, falls es Neuigkeiten gibt hier aktualisieren.

Viele Grüße

Hans


  

Betrifft: Evlt. Erleichterung: von: Hans
Geschrieben am: 07.03.2016 17:05:20

Hallo zusammen,

habe mir noch einige Gedanken dazu gemacht,
wäre es evtl. besser die betreffenden Zellen in ein neues Tabellenblatt zu kopieren, um dann erst dort aus denen Ein Schaubild zu erzeugen?
so würde der Quelltext dann bisher aussehen (funktioniert nicht da ich die Syntax nicht kenne):


Sub ExtrempunkteKopieren()
With ActiveSheet
    LetzteZeile = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
 

    
    For i = 1 To LetzteZeile
    
        If  .Cells(i, 1).value <  .Cells(i+, 1).value > .Cells(i+2, 1).value
 Then select "alle betroffenen Zellen, bei denen die bedigung zutrifft"

            "Bedingung: cells(i+,1).value muss größer sein als cells(i+2)>cells(i+3),....."
selection.copy

change worksheet "Tabelle 2",

select cells(A1).paste
            
    
End With

End Sub




  

Betrifft: AW: dazu nachgefragt ... von: ... neopa C
Geschrieben am: 07.03.2016 17:27:26

Hallo Hans,

... hab mir gerade Deine Beispieldatei angesehen. Aus dieser geht hervor, dass Du immer nur die Funktion zwischen zwei Tiefpunkten ermittelst (ermitteln willst, oder?)
Dafür hast Du ja schon eine richtige die Diagramm-Lösung aufgestellt. Was genau soll denn in Deiner "Schautafel" nun dargestellt werden? Wenn immer nur eine oder eine definierte Anzahl derartiger Diagramme dargestellt werden sollen und Du willst diese nur "variabel" auswählen können (z.B. Kurve des zweiten und fünften Hochpunktes), dann könnte ich Dir eine Formellösung zur Ermittlung der jeweiligen Datenwertelisten "stricken". Natürlich könnte analog auch die Tiefpunktkurven ausgewertet werden. Aber wie geschrieben, mir ist Deine Zielstellung noch nicht ganz klar. Eins jedoch vorab, eine VBA-Lösung wirst Du von mir keinesfalls erwarten können, denn aus VBA-Lösungen halte ich mich mangels Kenntnissen außen vor.

Gruß Werner
.. , - ...


  

Betrifft: AW: dazu nachgefragt ... von: Hans
Geschrieben am: 07.03.2016 17:53:41

Hallo Werner,
vielen Dank für deine angebotene Hilfe.

.. hab mir gerade Deine Beispieldatei angesehen. Aus dieser geht hervor, dass Du immer nur die Funktion zwischen zwei Tiefpunkten ermittelst (ermitteln willst, oder?)
Jein, also ich würde auch gerne alle Tiefpunkte ermitteln und eine Ausgleichsgerade durch die zugehörigen Punkte legen, um näherungsweise auch Zwischenwerte errechnen zu können, Hintergrund ist der, dass ich ganz viele Hoch und Tiefpunkte habe, und zwischenwerte berechnen will. Momentan muss ich alle Werte von Hand durchgehen, schauen wo ein Hoch und ein Tiefpunkt liegt, von Hand eine Ausgleichsfunktion durch legen und dann mit der Formel davon lassen sich dann zwischenwerte berechnen.
Dafür hast Du ja schon eine richtige die Diagramm-Lösung aufgestellt. Was genau soll denn in Deiner "Schautafel" nun dargestellt werden? Wenn immer nur eine oder eine definierte Anzahl derartiger Diagramme dargestellt werden sollen und Du willst diese nur "variabel" auswählen können (z.B. Kurve des zweiten und fünften Hochpunktes), dann könnte ich Dir eine Formellösung zur Ermittlung der jeweiligen Datenwertelisten "stricken".
Natürlich könnte analog auch die Tiefpunktkurven ausgewertet werden. Aber wie geschrieben, mir ist Deine Zielstellung noch nicht ganz klar. Eins jedoch vorab, eine VBA-Lösung wirst Du von mir keinesfalls erwarten können, denn aus VBA-Lösungen halte ich mich mangels Kenntnissen außen vor.

Das wäre der Wahnsinn und würde schon einmal unglaublich weiterhelfen ! :) Also benötige vorerst die Ermittlung der Werte von wo bis Wo z.B. ein Hochpunkt geht, also eine Auflistung/Markierung/Kopie von Werten, deren Zellen aneinander liegen, also die Werte nacheinander kommen, Über 0 sind,... (siehe Beispieldatei). Wenn ich dann z.B. eine solche Markierung auf einen Blick bekommen würde, könnte ich das ganze schon einmal schneller von Hand auswerten.

Vielen Dank schon im Voraus :)

Mit freundlichen Grüßen

Hans


  

Betrifft: AW: das wäre machbar ... von: ... neopa C
Geschrieben am: 07.03.2016 18:42:21

Hallo Hans,

... also erstens alle Tiefpunkte der Reihe nach zu ermitteln (ist auch dazugehörige Zelladresse auszuweisen?)
Und zweitens eine über Dropdownzelle abhängige Datenaufstellung der Hochpunktkurven zu erstellen. Allerdings muss ich für Heute jetzt offline gehen. Ich komme dann wahrscheinlich erst Morgen Nachmittag dazu.

Könne denn in den Datenwerten Werte kleiner 0 gelistet sein? Was soll mit diesen geschehen bzw. wie sollen die Nachbarwerte betrachtet werden?


Gruß Werner
.. , - ...


  

Betrifft: AW: das wäre machbar ... von: Hans
Geschrieben am: 07.03.2016 19:07:43

Hallo Werner,

... also erstens alle Tiefpunkte der Reihe nach zu ermitteln (ist auch dazugehörige Zelladresse auszuweisen?)
das wäre natürlich perfekt, muss jedoch nicht unbedingt sein, also sobald die Zelle markiert wird, wäre das schon einmal super :)
Und zweitens eine über Dropdownzelle abhängige Datenaufstellung der Hochpunktkurven zu erstellen. Allerdings muss ich für Heute jetzt offline gehen. Ich komme dann wahrscheinlich erst Morgen Nachmittag dazu.

Könne denn in den Datenwerten Werte kleiner 0 gelistet sein? Was soll mit diesen geschehen bzw. wie sollen die Nachbarwerte betrachtet werden?
Ja es könnnen auch Werte Unter 0 gelistet sein, dann werden es Hoch/ Tiefpunkte unterhalb der X - Achse. Also werden diese Werte genau gleich betrachtet wie überhalb der X-Achse also mit positiven Werten.

Vielen Dank
Hans


  

Betrifft: AW: eine Zwischenstand ... von: ... neopa C
Geschrieben am: 08.03.2016 17:28:29

Hallo Hans,

... heute bin ich etwas unter Zeitstress. Ich hab Dir jetzt wenigstens die Auflistung der Tief- und Hochpunkte mit ihrem jeweiligen Zeilenwert bezogen auf Dein Beispieldatei ermittelt. In dieser habe ich jetzt der Einfachheit halber die Daten in Spalte A eine Zelle nach unten verschoben, so dass A1 leer ist.

Ich schau dann morgen noch einmal. Vielleicht stellst Du inzwischen auch noch eine Datei mit Werten kleiner 0 ein und zeigst darin auf, was Du wie haben möchtest.

Tabelle2

 ABCDE
1Tiefpunkte Hochpunkte
2xy xy
324 311
471 96
5111 136,4
6144 1511
7174 1811
81910   
9     

Formeln der Tabelle
ZelleFormel
A3=WENNFEHLER(AGGREGAT(15;6;ZEILE(A$2:A$199)/((Tabelle1!A$1:A$198="")*9^99+Tabelle1!A$1:A$198>Tabelle1!A$2:A$199)/(Tabelle1!A$2:A$199<Tabelle1!A$3:A$200+(Tabelle1!A$3:A$200="")*9^99)/(Tabelle1!A$2:A$199<>""); ZEILE(A1)); "")
B3=WENN(A3="";"";INDEX(Tabelle1!A:A;A3))
D3=WENNFEHLER(AGGREGAT(15;6;ZEILE(A$2:A$199)/((Tabelle1!A$1:A$198="")*9^99+Tabelle1!A$1:A$198<Tabelle1!A$2:A$199)/(Tabelle1!A$2:A$199>Tabelle1!A$3:A$200+(Tabelle1!A$3:A$200="")*9^99)/(Tabelle1!A$2:A$199<>""); ZEILE(A1)); "")
E3=WENN(D3="";"";INDEX(Tabelle1!A:A;D3))


Tabelle1

 A
1 
24
311
410
58
65,3
71
85
96
103
111
122
136,4
144
1511
1610
174
1811
1910
20 
21 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Werner
.. , - ...




  

Betrifft: AW: benötigt werden noch die Angaben ... von: ... neopa C
Geschrieben am: 09.03.2016 14:52:58

Hallo Hans,

... zu Deinem zweiten Teil Deines letzten Beitrages. Dazu siehe auch meine Angaben im Beitrag von gestern Nachmittag. Hast Du diesen schon gelesen und geprüft?

Gruß Werner
.. , - ...


 

Beiträge aus den Excel-Beispielen zum Thema "Werte Vergleichen"