benutzerdefinierte funktion "wenn über mehrere spalten&

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: benutzerdefinierte funktion "wenn über mehrere spalten&

von kannenklaus » Mi, 09.08.2006 09:16

hallo stephan,


der fehler lag in der falschen zuweisung des zellbereiches. nun klapt es. danke für den tipp.

grüße

klaus

von Stephan » Di, 08.08.2006 18:38

hast du eine idee?


Nein, leider nicht. Ich habe die Funktion jetzt auch nochmal hier aus dem Forum rauskopiert um Schreibfehler auszuschließen, nur bei mir ist das in Ordnung. Ich sehe auch leider keinen Ansatz, da i und j innerhalb der Funktion bestimmt werden und i.d.S. nicht falsch sein können.

Somit:

Du bist Dir sicher das Du die Funktion so:

=A1X1(A1:X1)

aufrufst? (Also nicht etwa =A1X1(A1;X1) oder =A1X1(A1:K1; M1:O1))

Gibt es eine explizite Fehlermeldung wenn der FEhler auftritt?



Gruß
Stephan

von kannenklaus » Di, 08.08.2006 09:10

hallo stephan,

Code: Alles auswählen

      end if 
   next j 
next i
dort steigt die funktion aus. basic moniert j bzw.i. ich habe keine erklärung dafür. hast du eine idee?

grüße

klaus

von kannenklaus » Do, 03.08.2006 16:58

hallo stefan,

danke für deine antwort. mein internetzugang war lahm gelegt. deswegen komme ich erste heute dazu, dir zu antworten.

Code: Alles auswählen

das ist ein wenig ungenau,
die funktion soll immer den höchsten wert ermitteln, egal wieoft er vorkommt. d.h. wenn einmal sehr hoch vorkommt, reicht dies für den gesamtwert sehr hoch aus.

deine funktion test ich noch

grüße klaus

von Stephan » Di, 01.08.2006 20:45

wenn der wert "sehr hoch" vorkommt
- sehr hoch stehen

wenn "hoch" und "mittel" vorkommt
- hoch stehen


und wenn nur "mittel"
- mittel stehen.
das ist ein wenig ungenau, denn es können ja (es sei denn das wäre aus Gründen nicht möglich die ich nicht kenne) alle 3 Dinge vorkommen - was soll dann sein?
hat calc diese funktion (außer über mehrer wenn abfragen) schon drin
Naja, als Funktion sicher nicht, aber Dein "Wenn" zielt ja auf Formel, und da wäre es eine Frage meines Ehrgeizes eine Formel ohne wenn zu finden - vielleicht möglich oder auch nicht. Ich bin heute nicht ehrgeizig und versuche keine Lösung zu finden und sage mal es geht nicht ohne Wenn.
oder muß diese in basic geschrieben werden.


ein einfaches "Ja" würde Dir wohl hier nicht genügen, deshalb Folgendes was nicht sehr toll geschrieben ist aber funktional OK sein sollte (außer ebend das Problem was ich oben schilderte und wo ich mir erlaubt habe mich für eine Variante zu entscheiden - wenn "sehr gut" vorkommt ist der Rest egal):

Code: Alles auswählen

Function A1X1(x as Variant)
for i=1 to UBound(x,1)
	for j=1 to UBound(x,2)
		if x(i,j) = "sehr hoch" Then
				sh = 1
			ElseIf x(i,j) = "hoch" Then
				h = 1
			ElseIf x(i,j) = "mittel" Then
				m = 1
		end if
	next j
next i
If m = 1 Then v = v + 1
If h = 1 Then v = v + 1
If sh = 1 Then v = 3
Select Case v
	Case 1
		A1X1 = "mittel"
	Case 2
		A1X1 = "hoch"
	Case 3
		A1X1 = "sehr hoch"
End Select
End Function
das würde somit erfordern in y1 die Funktion so aufzurufen:

=A1X1(A1:X1)


Gruß
Stephan

benutzerdefinierte funktion "wenn über mehrere spalten&

von kannenklaus » Di, 01.08.2006 14:13

hallo ng,

ich suche den code für eine funktion die folgende auswertung leistet:

die zellen a1, b1 c1 d1 bis x1 sind mit den werten sehr hoch, hoch, mittel und gering gefüllt. in y1 soll,

wenn der wert "sehr hoch" vorkommt
- sehr hoch stehen

wenn "hoch" und "mittel" vorkommt
- hoch stehen


und wenn nur "mittel"
- mittel stehen.

hat calc diese funktion (außer über mehrer wenn abfragen) schon drin oder muß diese in basic geschrieben werden.

freue mich auf eine antwort

grüße

klaus

Nach oben