Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nicht vorhandenen Wert aus Matrix unter Bedingung auslesen
#1
Hallo,

nachdem ich stundenlang erfolglos herumprobiert habe, könnt ihr mir hoffentlich weiterhelfen. Ich habe mit folgender Excel-Tabelle die BMI-Werte von Kindern als Perzentile in Abhängigkeit vom Alter aufgelistet:

[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]


Nun möchte ich, dass nach Angabe eines  bestimmten Alters (z.B. 1,5 Jahre) und eines bestimmten BMIs (z.B. 15,3) von Excel automatisch die jeweils darüber und darunter liegenden BMI und Perzentil-Werte ausgelesen werden. Für das Beispiel hier wären das also: Oberer BMI: 15,32, unterer BMI: 14,59, oberes Perzentil: 25, unteres Perzentil: 10


Mit diesen 4 Werten muss ich dann weiterrechnen und nachdem das für mehrere 100 Personen notwendig sein wird, wäre es wirklich eine Hilfe, wenn Excel die Werte automatisch auslesen (und damit dann später auch automatisch weiterrechnen) würde.

Ich habe bereits mit INDEX und SVERWEIS herumgebastelt, aber bin bisher zu keinem zufriedenstellenden Ergebnis gekommen.

Hoffentlich ist hier jemand schlauer als ich.
Antworten Top
#2
Hi, 

tschuldige, aber daran komme ich nicht vorbei  Blush sonst platze ich noch beim Luft anhalten Blush ...

Zitat:Hoffentlich ist hier jemand schlauer als ich.

... das dürfte nicht allzu schwer werden, denn sonst hättest Du anstatt Deiner Fotoausstellung
einen ordentlichen Tabellenausschnitt oder die Datei gepostet. Niemand ist in der Lage, aus einem
Blid eine brauchbare Tabelle die noch dazu der Deinen gleicht, zu bauen.

Ein schlauer User hätte zumindest mal die oben im Forum als WICHTIG gekennzeichneten Threads
gelesen. Die wenigsten hier haben Lust dazu, Deinen Kram nachbauen zu müssen. Deine Datei ist ja
auch schon vorhanden, warum sollten sie das also tun?
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Hallo,

und die Überschrift tut ein weiteres dazu!!!!!!!!!!!!!!!!!!!!!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#4
Ok, sorry. Aber dann bin ich ja guter Hoffnung. Hier ist eine Beispieldatei inkl. der Referenztabelle.


Angehängte Dateien
.xlsx   Perzentile.xlsx (Größe: 9,64 KB / Downloads: 12)
Antworten Top
#5
Hallo Fenia,

der Makro muss in den Kopf des Tabellenblattes, z.B. mit alt-F11 den vba-Editor öffnen und das Tabellenblatt doppelt-klicken.

Mfg
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Not Target.Address = "$M$3" Then Exit Sub
If Target.Value < 10 Or Target.Value > 20 Then MsgBox "falsche Eingabe": Exit Sub
With Columns(1)
Set rng = .Find(Cells(2, "M"))
Debug.Print rng.Value
If rng Is Nothing Or Cells(2, "M") <> rng.Value Then
MsgBox "Bitte Eingaben prüfen"
End If
Cells(5, "M") = WorksheetFunction.Lookup(Cells(3, "M"), Range(Cells(rng.Row, "D"), Cells(rng.Row, "J")))
o = WorksheetFunction.Match(Cells(3, "M"), Range(Cells(rng.Row, "D"), Cells(rng.Row, "J")), 1)
Debug.Print rng.Row, o, rng.Offset(0, 3 + o).Value
Cells(4, "M") = rng.Offset(0, 3 + o).Value
Cells(6, "M") = Cells(2, 4 + o)
Cells(7, "M") = Cells(2, 3 + o)
End With
End Sub
Antworten Top
#6
Ok, also ich drücke im geöffneten Excelsheet Alt + F11, rufe die Tabelle Perzentilberechnung auf und kopiere in das nun aufgehende Fenster deinen Code hinein. Und jetzt? Auf Sub/UserForm ausführen klicken? Dann geht ein neues Fenster mit "Makros" auf. Tippe ich dort etwas ein und klicke auf "Erstellen", passiert danach nichts weiter. Stimmt das überhaupt soweit?


Ich nehme an, dass man mit Formeln also nicht weiterkommt, oder?

Danke für die Hilfe soweit!
Antworten Top
#7
Hallo,

wenn ddr Code an der richtigen Stelle eingefügt wurde, startet er, wenn in der Zelle M3 ein Wert eingetragen wird.

Falls du noch Information brauchst, guuuuugel nach Worksheet event, z.b. worksheet_change und suche eine Webseite, die mit screen-shots zeigt, wo der code eingegeben werden muss.

Mfg
Antworten Top
#8
Hallo Fenia,

Das einstellen des Tabellenausschnitts  hat nicht funktioniert deswegen,in der Anlage eine Formellösung in Deiner Datei.



.xlsx   Kopie von Perzentile.xlsx (Größe: 9,9 KB / Downloads: 10)


@Fennek

Dein Lösungsvorschlag hat mit der eingestellten Datei einmal nichts gemeinsam und das Change Ereignis ist für diese Aufgabe eher ungeeignet.
Wenn dann sind all Daten in der Datei eingegeben und auf Knopfdruck werden dann die fehlenden Werte hinzugefügt.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Fenia
Antworten Top
#9
@Atilla

Mein Code bezieht sich auf das Bild, das in der ursprünglichen Frage gezeigt wurde. Wie üblich, habe ich die xls-Datei nicht heruntergeladen.

Wenn man die Codes umbedingt über einen Button starten will, geht das auch.

Mfg
Antworten Top
#10
Hallo Fenek,

ah, Ok. Dass unterschiedliche Vorgaben eingestellt wurden habe ich nicht bemerkt.
Gruß Atilla
Antworten Top


Gehe zu:


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