WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   Excel: WENN Wert kleiner/grösser als... (http://www.wcm.at/forum/showthread.php?t=235993)

wbendl 27.08.2009 13:40

Hi!

Die lange Möglichkeit, alle Bedingungen entsprechend definieren:

Case 5 to 14
Texte = "Text 1"

Ist viel Schreibarbeit.

Oder eine speziell für deine Angaben gemachte Berechnung. Die Texte stehen in einer Hilfstabelle und die Zeilennummer wird aus deinem Wert berechnet.

Function Texte(MyRange As Range) As String
Dim lngRow As Long

If IsNumeric(MyRange.Value) Then
lngRow = TextIndex(MyRange.Value)
If lngRow > 0 Then
'Hier Tabelle und Spalte mit den Texten definieren
Texte = Sheets(1).Range("G" & lngRow)
End If
End If
End Function

Function TextIndex(intVal As Integer) As Long
Dim lngRetVal As Long

lngRetVal = Fix(((intVal - 5) / 10) + 1)

TextIndex = lngRetVal
End Function

Ist nicht perfekt ausprogrammiert, aber ein Denkansatz.


mfg

WB

Autrob 27.08.2009 14:03

also so was würd ich gern beherrschen, aber dafür hab ich wohl zu wenig hirn

maxb 27.08.2009 14:11

Zitat:

Zitat von revell (Beitrag 2377443)
Ich hab's tatsächlich schlecht formuliert...

A1 kann jeden Dezimalwert zwischen 5 und 335 einnehmen.
Wenn A1 zwischen 5 und 15 --> Text 1
Wenn A1 zwischen 15 und 25 --> Text 2
Wenn A1 zwischen 25 und 35 --> Text 3
etc.

Ich hab eine Wertetabelle im Bereich AM1 bis AN21

Dankeschön,
revell

ich weiß jetzt nicht, ob du die lösung nicht schon längst hast ->

=VLOOKUP(A1;AM$1:AO$33;3)

für den Fall dass sich in der Spalte AO der Text befindet und in AM1=5, AN1=15, AO1='text1 usw. liefert die formel 'text1 für alle 5<=A1<15 usw.

Werte außerhalb des Bereiches verursachen ein #NV.

revell 27.08.2009 14:34

Mit programmieren tu ich mir ein bisschen schwer... ;)

@ maxb: In der Spalte "AM" steht der Zahlenwert und in "AN" der dazugehörige Text. AO ist leer.
Also für AM1 sollte der Text aus AN1 ausgegeben werden.
5 = text 1
15 = text 2
25 = text 3
etc.

Wofür steht die "3" in der Formel?

Ich hab's probiert aber ich bekomme nur ein #N/A ausgegeben.

Das Problem ist, dass die Quellwerte nicht 100% mit AM übereinstimmen sondern eben zwischen zwei Werten liegen.
Ist also nicht genau 5; 15; 25 sondern 7; 7,25; 14,30 etc.

maxb 27.08.2009 15:55

dein ansatz stimmt schon! meine funktion hat zwar funktioniert, war aber eher verwirrend. sorry! :D

probier's mal mit

=VLOOKUP(A1;AM$1:AN$33;2)

vlookup sucht jetzt in der 1. Spalte AM1 bis 33 nach einer ungefähren übereinstimmung und gibt den wert(text) aus der 2. spalte (AN) zurück (der 2er stammt daher). das $ nicht vergessen damit sich der bereich AM1-33 nicht mitverschiebt, wenn du du formel nach unten ziehst.

PS: nach 100mal editieren hab ich es jetzt hoffentlich richtig formuliert. :o

revell 27.08.2009 23:11

Vielen Dank. Ich schau's mir morgen mal an :)

revell 31.08.2009 16:07

Irgendwie haut's nicht hin... bekomme nur N/A ausgegeben...


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag