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)

revell 27.08.2009 09:49

Excel: WENN Wert kleiner/grösser als...
 
Hallo Alle,

Ich möchte wenn der Wert von A1 zwischen 5 und 15 liegt in Zelle B1 einen Text ("text") ausgeben.

Hat jemand eine Ahnung wie man das anstellen kann?

Vielen Dank & lg,
revell

maxb 27.08.2009 10:03

=WENN(UND(A1>=5;A1<=15);"text";"")


Grüße
maxb

Autrob 27.08.2009 10:20

vielleicht hilft das
mit hilfe von verweis (verweis, wverweiis oder sverweis) kannst du eine datenliste durchsuchen lassen.

in der datenliste hast du die werte von 5 bis 15 in je einer zeile und daneben den gewünschten text.

verweis vergleicht den eingegebenwert mit der datenliste und liefert bei übereinstimmung den dazugehörigen text, ansonsten nichts.

eine größer kleiner lösung ist mir derzeit nicht bekannt.

gruß
robert

Autrob 27.08.2009 10:23

Zitat:

Zitat von maxb (Beitrag 2377424)
=WENN(UND(A1>=5;A1<=15);"text";"")


Grüße
maxb

das wäre mein zweiter ansatz gewesen, habs gerade probiert :hallo:

revell 27.08.2009 10:43

Hallo Autrob, das mit der Datenliste ist die bessere Lösung für mich. Allerdings arbeite ich mit einer englischen Excel Version. Hast du vielleicht eine Ahnung wie da die Syntax lautet?

Vielen Dank & lg,
revell

PS: und danke natürlich auch maxb!

Autrob 27.08.2009 11:18

verweis müßte lt. meiner recherche lookup sein, s steht für senkrecht, somit v=vertical
und w müßte horizontal sein also h.
aber in der funktionsliste müßtest du dann das finden

hoffe, ich konnte helfen
gruß
robert

wbendl 27.08.2009 11:26

Hi!

Eine kleine selbstgeschrieben Funktion:

Function Texte(MyRange As Range) As String

Select Case MyRange.Value
Case 1
Texte = "Text 1"
Case 2
Texte = "Text 2"
Case 3
Texte = "Text 3"
Case 4
Texte = "Text 4"
Case 5
Texte = "Text 5"
Case 6
Texte = "Text 6"
'Bei Bedarf die beiden Zeilen durch entfernen des Hockommas aktivieren
' Case Else
' Texte = "kein gültige Wert"
End Select

End Function


Die Formel in der Zelle:
=Texte(A1)
wertet den Inhalt von A1 aus


mfg

WB

maxb 27.08.2009 12:16

Zitat:

Zitat von revell (Beitrag 2377432)
Hallo Autrob, das mit der Datenliste ist die bessere Lösung für mich. Allerdings arbeite ich mit einer englischen Excel Version. Hast du vielleicht eine Ahnung wie da die Syntax lautet?

Vielen Dank & lg,
revell

PS: und danke natürlich auch maxb!

jep, ist wie oben bereits geschrieben vlookup und hlookup, aber warum willst das simple problem mit der mächtigen verweis funktion aufblasen? oder ist das problem nicht so simpel wie oben dargestellt... ;)

Autrob 27.08.2009 12:30

vermutung:
die wenn funktion bringt immer denselben text
die verweis funktion je nach wert einen bestimmten

revell 27.08.2009 12:54

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

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 15:32 Uhr.

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