PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Excel-Frage...



upn72
30-01-2009, 17:43
...mich plagt ein Problem und ich finde einfach die Lösung nicht dazu.

Ich möchte Folgendes haben:
1) nimm die Zahl aus der Zelle A1
2) gehe in eine Matrix (besteht aus 1 Zeile und n Spalten, wobei die Elemente ansteigend sortiert sind)
3) gehe in dieser Matrix von links nach rechts (also ansteigend), und vergleiche diese Werte mit der Zahl aus der Zelle A1
4) nimm den Wert aus der Matrix, der gerade noch <= der Zahl aus A1 ist
5) schreibe diesen Wert in die Zelle

und dann noch das ganze mit >=

Oder anders formuliert:
Ich will aus einer ansteigenden Zahlenreihe 2 Werte finden.
Wert 1 ist kleiner gleich meiner Vergleichszahl
Wert 2 ist größer gleich meiner Vergleichszahl

Gruß Uwe

R.C.
30-01-2009, 17:59
...mich plagt ein Problem und ich finde einfach die Lösung nicht dazu.

Ich möchte Folgendes haben:
1) nimm die Zahl aus der Zelle A1
2) gehe in eine Matrix (besteht aus 1 Zeile und n Spalten, wobei die Elemente ansteigend sortiert sind)
3) gehe in dieser Matrix von links nach rechts (also ansteigend), und vergleiche diese Werte mit der Zahl aus der Zelle A1
4) nimm den Wert aus der Matrix, der gerade noch <= der Zahl aus A1 ist
5) schreibe diesen Wert in die Zelle

und dann noch das ganze mit >=

Oder anders formuliert:
Ich will aus einer ansteigenden Zahlenreihe 2 Werte finden.
Wert 1 ist kleiner gleich meiner Vergleichszahl
Wert 2 ist größer gleich meiner Vergleichszahl


Wert 2 ist das Minimum aller Zahlen, die groesser/gleich als die Vergleichszahl sind, Wert 1 ist das Maximum aller Zahlen, die kleiner/gleich als deine Vergleichszahl sind.
Das ganze musst du jetzt nur noch in Excel 'formulieren' ;)

NoBeat
30-01-2009, 19:57
suchbereich = zb.: a1 bis a5
suchkriterium zb in zelle b1

=ZÄHLENWENN(A1:A5;">="&B1)

upn72
30-01-2009, 20:24
zähenwenn(....) liefert die Anzahl von Werten --> es zählt

ich brauche aber nicht die Anzahl, sondern den Wert davor (bzw. danach)

Beispiel:
A1 bis A5 sind 1, 2, 3, 4, 5
B1 = 2,5
dann brauche ich einmal die 2 (und einmal die 3)
B1 = 4,5
soll dann 4 (bzw 5) als Ergebnis liefern

upn72
30-01-2009, 20:26
Wert 2 ist das Minimum aller Zahlen, die groesser/gleich als die Vergleichszahl sind, Wert 1 ist das Maximum aller Zahlen, die kleiner/gleich als deine Vergleichszahl sind.
Das ganze musst du jetzt nur noch in Excel 'formulieren' ;)

jaja, das ist mathematisch der richtige Ansatz, blos ich schaffe es nicht, das ins Excel zu bringen --> aber ich versuchs noch

andreas999
30-01-2009, 20:39
mit einer kombi von Summenprodukt und Max könnte das gehen. ansonsten mach zwei dynamischen Zellbereiche (im Namensmanager definieren), ist aber zu kompliziert, das muss leichter gehen.

Gelöst für den kleineren Wert.
=SUMMENPRODUKT((A1:A10>B1)*(A1:A10)/(A1:A10))-SUMMENPRODUKT((A1:A10<B1)*(A1:A10)/(A1:A10))

A1:A10 = deine MAtrix
B1 = dein Wert

für den großen gehts ähnlich

linzerbiker
30-01-2009, 21:34
ich mach sowas öfters mit SVERWEIS / WVERWEIS - such das mal in der excel hilfe und schau dir den befehl an.... da geht noch ein bisschen mehr dann.

edit: such mal nach verweis und dann nach "nachschlagen von daten in einer liste von daten"

Heinlmeier
30-01-2009, 22:45
mit wverweis findest du schon mal den wert <= ober nicht >=
Versuch mal eine Kombination aus INDEX und VERGLEICH

Beispiel
A1 bis O1 ist deine einzeilige Matrix
B4 ist der gesuchte wert

für <= "=WVERWEIS(B4;A1:O1;1;WAHR)"
für > "=INDEX(A1:O1;1;(VERGLEICH(B4;A1:O1;1))+1)"

wenn es statt > wirklich >= sein muss kannst du noch ne WENN Funktion einbauen die beides verwendet:
"=WENN((B4=(WVERWEIS(B4;A1:O1;1)));(WVERWEIS(B4;A1: O1;1));(INDEX(A1:O1;1;(VERGLEICH(B4;A1:O1;1))+1)))"

Gib laut wenn es geholfen hat damit wir nicht weiter nachdenken....

NorwegianBlue
30-01-2009, 23:02
Hab mal ein xls mit einer möglichen Lösung angehängt. Ist zwar mit einem Mac erstellt, sollte aber unter Windows auch laufen.

Du musst Dir nur noch überlegen, wie das Ergebnis aussehen soll, wenn Deine Vergleichszahl größer oder kleiner als das Maximum bzw. Minimum Deiner Zahlenreihe ist.

upn72
31-01-2009, 19:05
...Gib laut wenn es geholfen hat damit wir nicht weiter nachdenken....
Sehr wohl, zu Befehl, Laut geben, wenn es passt!

Und es passt!!!


besten Dank an alle:
@Heinlmeier + Blauer Norweger: es funktionieren beide Varianten:toll:
@alle: Danke für die Lösungsansätze. Ich werden allen Ansätzen nachgehen, denn es sind einfach überall interessante Gedanken verpackt - oder anders gesagt: "Es ist unglaublich, wie kompliziert dieser Ami so ein Programm aufbauen kann!":rofl:

upn72
31-01-2009, 19:25
=WENN((B4=(WVERWEIS(B4;A1:O1;1)));(WVERWEIS(B4;A1: O1;1));(INDEX(A1:O1;1;(VERGLEICH(B4;A1:O1;1))+1))) auf diese Lösung kommt ein normaler Durchschnitts-Excel-Anwender nicht ohne massive Zuhilfenahme des Bikeboards!
Vor allem die Kombination der beiden Funktionen INDEX + VERGLEICH ist genau das, das ich gesucht habe --> so komme ich nämlich zu einer bestimmten Position aus einer Matrix:toll:

super:bounce:

derPaul
11-06-2009, 07:50
guten morgen leute!

könnt ihr mir verraten, wie ich in MS-EXCEL folgendes erledigen kann:

ich habe eine spalte "Gesprächsdauer" im format "hh:mm:ss" (aus einer handyrechnung, derzeitige taktung 60/30).

nun möchte ich ausrechnen, wieviele (frei-)minuten ich in diesem monat mit der taktung 60/60 verbraucht hätte...

wie mache ich das am besten???

linzerbiker
11-06-2009, 08:15
guten morgen leute!

könnt ihr mir verraten, wie ich in MS-EXCEL folgendes erledigen kann:

ich habe eine spalte "Gesprächsdauer" im format "hh:mm:ss" (aus einer handyrechnung, derzeitige taktung 60/30).

nun möchte ich ausrechnen, wieviele (frei-)minuten ich in diesem monat mit der taktung 60/60 verbraucht hätte...

wie mache ich das am besten???
in der excel hilfe nachschlagen wie man dein format in sekunden umrechnet...
dann: (sekunden minus 60 s) / 60 (bzw. 30)


gerade nachgesehen da gibt es ein "Konvertieren von Zeitangaben"... vielleicht hilft dir das weiter

larifari99
11-06-2009, 08:43
in der excel hilfe nachschlagen wie man dein format in sekunden umrechnet...
dann: (sekunden minus 60 s) / 60 (bzw. 30)


das ginge so:

a1: 01:20:10 als hh:mm:ss
a2: =a1 als [ss] --> alles in sek

a3: 00:01:00 als hh:mm:ss
a4: =a1-a3 --> da sind die 60s abgezogen
a5: =a4/60 --> alles in min

derPaul
11-06-2009, 10:54
also die lösung ist doch machmal wesentlich einfacher als man im ersten moment denkt. - ist mir übrigens gerade während einer 2,5stündigen traumhaften radlrunde eingefallen:

wenn es darum geht, zu überprüfen, wieviel ich beim wechsel von meiner bisherigen taktung 60/30 auf eine andere taktung 60/60 mehr bezahlen würde, brauch ich doch nur alle gesprächsdauern vom einzelgesprächsnachweis auf ganze minuten AUFRUNDEN und addieren, oder?! :s:

jaja, die besten ideen hab ich halt immer wieder beim radeln!!!

have a nice looooong weekend! :bounce: