PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Excel


bm
22.05.2001, 14:20
Wie kann ich in EXCEL folgendes realisieren :

In Spalte A befinden sich Werte, nennen wir sie xi
In Spalte B befinden sich die dazugehörenden r(xi )-Werte (wobei r(x) eine beliebige Relation ist)

Ich will in eine Zelle (z.B. in C1) ausgeben:

z.B. den Maximalwert der Spalte A (maxA),

und in Zelle C2

den zu maxA gehörenden r(maxA)-Wert aus Spalte B.

Kennt jemand die Syntax?

Vielen Dank von bm

minutemen
22.05.2001, 14:30
ich verwende staroffice, aber so verschieden kann die syntax nicht sein. zudem: zig-mal besser als winzigweichs officebude und ressourcenfresser.

vorschlag: C1=MAX(A1:Ai), C2 ergibt sich automatisch zu C2=r(C1); MAX liefert allerdings nicht die zählvariable zu A. da kenn ich auch keine implementierte funktion, die das tut (nun gut, ich bin ja auch nur schmalspur-tabellenkalkulator :D, ausserdem war das ja auch nicht gefragt).

No Regrets
22.05.2001, 15:10
Das liefert die Hilfe von Excel

MAX

Liefert den größten Wert innerhalb einer Argumentliste.

Syntax

MAX(Zahl1;Zahl2;...)

Zahl1; Zahl2;... sind 1 bis 30 Zahlen, deren größte Zahl Sie bestimmen möchten.

Als Argumente können Sie Zahlen, leere Zellen, Wahrheitswerte oder in Textform vorliegende Zahlen angeben. Argumente, die Fehlerwerte darstellen oder Texte angeben, die nicht in Zahlen umgewandelt werden können, verursachen Fehler.


Ist als Argument eine Matrix oder ein Bezug angegeben, werden von deren oder dessen Elementen nur diejenigen berücksichtigt, die Zahlen sind. Zu der Matrix oder dem Bezug gehörende leere Zellen, Wahrheitswerte oder Text werden ignoriert. Müssen Wahrheitswerte und Text ignoriert werden, verwenden Sie stattdessen MAXA.


Enthalten die Argumente keine Zahlen, liefert MAX den Wert 0 (Null).

Beispiele

Enthält der Bereich A1:A5 die Zahlen 10, 7, 9, 27 und 2, dann folgt:

MAX(A1:A5) ergibt 27




Also wie minutemen schon sagte C1=MAX(A1:Ai), und C2=MAX(B1:Bi)

bm
22.05.2001, 15:11
Hallo,

1.) @ minuteman

besten Dank für die sehr rasche Antwort. Leider ist es nicht so einfach. x und y sind eben nicht durch eine Funktion verknüpft, d.h. ich kann nicht eineindeutig aus einem x einen f(x)-Wert errechnen.
Ich bräuchte schon den Wert der Nachbarzelle von maxA in Zelle C2.

oder anders beschrieben :
Suche mir in Spalte A die Zelle Amax die den Maximalwert der Spalte A enthält; gebe mir den Wert der Nachbarzelle von Amax, nämlich Bmax, in Zelle C2 aus.

2.) @ no regrets

in der Nachbarzelle von Amax ist nicht zwangsweise auch das Maximum der Spalte B.

mfg bm

No Regrets
22.05.2001, 15:15
Aso jetzt hab ich verstanden was Du willst :D

bm
22.05.2001, 15:18
böser Witz, der vor einiger Zeit kursierte :

Treffen sich, na ja sagen wir leichte Damen.
Meint die eine angeberisch : Du ich hatte letzt Bill Gates als Kunde.
Die andere entgegnet schnippisch : Na und!
Antwort der ersten : Na ja, jetzt weiss ich wenigstens warum der seine Firma micro-soft getauft hat.

minutemen
22.05.2001, 15:34
also brauchst du doch die zählvariable. dumm, das da meines wissens keine funktion dafür implementiert ist. basteln wir uns halt eine, hier eine vorschlag in einer hoffentlich zu verstehenden pseudo-prog-sprache (ich hab keine ahnung von VBasic, nur fortran, aber damit will ich keinen belästigen :D)
function zeilennummer(A)
x=MAX(A1:Aj)
for i=1 to j
if (A(i)=x) then /* da suchen wir das element*/
zeilennummer=i /* wir sichern uns die zeilennummer */
i=j /* beendet die schleife, da element gefunden */
endif
next i
end

...

C1=A(zeilennummer(A))
C2=B(zeilennummer(A))
wir müssen der funktion also den vektor A übergeben und man erhält als funktionswert die zeilennummer. aber vorsicht: gefunden wird nur das erste element, welches in A mit MAX(A1:Ai) übereinstimmt. in VBasic musst du dir den spass aber selber übertragen!

bm
22.05.2001, 15:40
=ZEILE()+n : liefert die Zeilennummer der Zeile und addiert n

=SPALTE()+n : liefert die Spaltennummer der Spalte und addiert n
A=1, B=2, C=.........

No Regrets
22.05.2001, 15:40
Und zwar mit der Funktion VERWEIS

VERWEIS(Suchkriterium;Suchvektor;Ergebnisvektor)


C1=MAX(A1:Ai)
C2=VERWEIS(C1;A1:Ai;B1:Bi)

aber!

Wichtig Die zu Suchvektor gehörenden Werte müssen in aufsteigender Reihenfolge angeordnet sein: ...,-2, -1, 0, 1, 2, ..., A-Z, FALSCH, WAHR, andernfalls liefert VERWEIS eventuell einen falschen Wert. Bei Zeichenfolgen (Texten) wird nicht nach Groß- und Kleinbuchstaben unterschieden

d.h. Vorher die Spalte A in aufsteigender Reihenfolge mit Spalte B im Gepäck sortieren lassen :D

minutemen
22.05.2001, 15:46
was für eine tolle suchfunktion, deren vektoren zuvor geordnet werden müssen. warum? wofür? wieso?

No Regrets
22.05.2001, 15:48
Frag bitte Mr. Bill nicht mich

minutemen
22.05.2001, 15:51
wie heisst's so schön: it's not a bug, it's a feature!

trotzdem: wenn jemand weiss, warum man listen/vektoren vorm suchen sortieren muss, her mit der antwort!

bm
22.05.2001, 15:56
funktioniert nicht.

Ich muss doch dem Ding irgendwie sagen können, dass ich den Wert der Zelle Bn haben will, wobei n eine von mir zu ermittelnde Variable ist?

Ich kann doch nicht der einzige auf der Welt sein, der sich jemals für sowas interessiert hat?

No Regrets
22.05.2001, 15:58
Ich glaub ich habs jetzt :D

Ohne vorheriges Sortieren

SVERWEIS(Suchkriterium;Matrix;Spaltenindex;Bereich_Verweis)


C1=MAX(A1:Ai)
C2=SVERWEIS(C1;A1:Bi;2;FALSCH)

und ganz wichtig:

Wenn Bereich_Verweis FALSCH ist, muss Bereich_Verweis nicht sortiert werden.

so ich denke das sollte nun klappen

bm
22.05.2001, 16:05
funktioniert :

minuteman, no regrets

wenn jemand mal nach Basel kommt : ++41 61 6367110
ich gebe ein Bier aus.

Danke. bm

minutemen
22.05.2001, 16:32
gebongt! aber sei vorsichtig bei no regrets, der panscht und macht unappetitliche mischungen... :D

No Regrets
22.05.2001, 16:34
jo machen wir, hauptsache das bier in Basel schmecht auch ohne Cola :D