Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

aufrunden bis zu nächstem listeneintrag

aufrunden bis zu nächstem listeneintrag
08.09.2008 13:09:00
lukas
moin moin die excelianer!
habe wiedermal ein kleines problem, bei welchem ihr mir behilflich sein könntet...
ich habe eine liste, die in etwa so aussieht: (die werte können variieren!)
45
100
300
500
...
jetzt habe ich noch eine zahl, die ich gerne jeweils zur nächst höheren in dieser liste aufrunden möchte.
das ganze soll per formel und NICHT per VBA sein, die datei wird bei externen kunden verwendet und sollte daher frei von makros und dergleichen sein.
d.h. wenn ich in einem feld 90 stehen habe, müsste ich als wert 100 erhalten.
wenn ich 110 im feld stehen habe, möchte ich, dass 300 herauskommt.
die liste ist an einem fixen ort und wird nicht abgeändert, d.h. keine automatischen/manuellen änderungen.
hoffe, das ist nicht allzu umständlich umschrieben.
vielen dank für eure lösungen!
grüsse
lukas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aufrunden bis zu nächstem listeneintrag
08.09.2008 13:16:59
David
Hallo Lukas.
Wie wäre es damit:
Tabellenblattname: Tabelle1
 

A

B

C

1

45

350

500

2

100

 

 

3

300

 

 

4

500

 

 


Benutzte Formeln:
C1: =INDEX(A1:A4;WENN(ISTNV(VERGLEICH(B1;A1:A4;1));0;VERGLEICH(B1;A1:A4;1))+1)
Wenn du die Liste nicht separat aufführen willst:
=INDEX({45;100;300;500};WENN(ISTNV(VERGLEICH(B1;{45;100;300;500};1));0;VERGLEICH(B1;{45;100;300;500}; 1))+1)
Rückmeldung wäre nett.
Gruß
David
Anzeige
AW: aufrunden bis zu nächstem listeneintrag
08.09.2008 13:32:55
David
Was mir noch eingefallen ist:
Die Formel hat keine Fehlerbehandlung, wenn der gesuchte Wert GRÖSSER ist als der letzte Wert im Bereich. Dann kommt ein #BEZUG-Fehler. Falls dies auftreten kann, solltest du diese Formel nehmen:
=WENN(B1>500;"zu groß";INDEX({45;100;300;500};WENN(ISTNV(VERGLEICH(B1;{45;100;300;500};1));0; VERGLEICH(B1;{45;100;300;500};1))+1))
(ich habe den Max-Wert jetzt mal 'hart' eingetragen, könnte man evtl. auch noch variabel gestalten).
Gruß
David
AW: aufrunden bis zu nächstem listeneintrag
08.09.2008 13:25:56
Rudi
Hallo,
Liste in A:A, absteigend sortiert.
Zahl in C2
in D2: =INDEX(A:A;VERGLEICH(C2;A:A;-1))
Gruß
Rudi
Anzeige
AW: aufrunden bis zu nächstem listeneintrag
08.09.2008 13:28:00
lukas
ihr seid die grössten, die schönsten, die schlausten - ihr seid meine leute da draussen *sing* - und zwar vor freude!
die erste lösung funktioniert super prächtig.
ob die zweite lösung funktioniert weiss ich nicht, die liste MUSS aufwärts sortiert werden, sonst kommen die kunden nimmer draus. (unsere kunden sind meistens dümmer als eure!!) :-)
grüsse und vielen dank!
lukas
mit MIN(), MAX(), INDEX() und VERGLEICH() ...
08.09.2008 14:38:00
neopa
Hallo Lukas,
... sollten alle Bedingungen mit kurzer Formel realisiert werden können und zwar so:
=MIN(MAX(A:A);INDEX(A:A;VERGLEICH(MAX(B1;A1);A:A;1)))
Gruß Werner
.. , - ...
oh, oh ...
08.09.2008 18:05:00
neopa
... das kommt davon, wenn man etwas nur halb macht, ich Dussel.
Natürlich ist MATRIXformel von Walter (WF) die effektivste. Ich hatte mir zum Ziel gesetzt eine {}-freie Lösung zu schaffen und mich dabei heut Nachmittag total verheddert. Das muss ich nun wenigsten noch richtig stellen:
Ohne {} mit dem gleichen Ergebnis wie die kurze {}-Formel geht es aber z.B. so:
 ABCDE
145166300 300
2100    
3300    
4500    
5     

Formeln der Tabelle
ZelleFormel
C1=INDEX(A:A;VERGLEICH(MAX(B1;A1); A:A;1)+N(B1>A1))
E1{=MIN(WENN(A1:A4>=B1;A1:A4))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
aber leider nur fast
14.09.2008 22:04:52
FP
Hallo Werner,
Deine Lösung ohne {} hat noch einen (kleinen) Makel, deshalb hier eine andere Lösung, die bei vielen Werten sicher performanter ist als die Arrayformel:
Tabelle1
 ABCDEF
145 100100100300
2100     
3300     
4500     
Formeln der Tabelle
D1 : =INDEX(A:A;HÄUFIGKEIT(A:A;C1-1)+1)
E1 : {=MIN(WENN(A1:A5>=C1;A1:A5))}
F1 : =INDEX(A:A;VERGLEICH(MAX(C1;A1); A:A;1)+(C1>A1))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Und sollten die Zahlen unsortiert vorliegen:
=KKLEINSTE(A:A;HÄUFIGKEIT(A:A;C1-1)+1)
Servus aus dem Salzkammergut
Franz
Anzeige
da hast Du völlig Recht, aber ...
28.09.2008 18:40:00
neopa
Hallo Franz,
... der Teufel steckt eben immer im Detail.
Und so gesehen hat es die unscheinbare kleine "Aufgabe" in sich, denn mE sind alle bisherigen Formeln keine 100%ige Lösungen. Aber Deine Lösungsidee ohne {} mit HÄUFIGKEIT() gefällt mir wieder sehr gut. Aber sowohl für Suchwerte >MAX bzw. für 0 ergeben sich unplausible Ergebniswerte (die in der Praxis sicher kaum eine Rolle spielen dürften).
Hab nun (zu meiner HAÜFIGKEIT()-Übung) Deine Idee aufgeriffen und einfach noch etwas drumrumgestrickt. Du findest dafür aber sicher noch eine kürzere Lösung.
 ABCDE
1     
245 45,00 45
3100 45,01 100
4300 12,34 45
5500 0,00 0
6  123,45 300
7  666,66 500

Formeln der Tabelle
ZelleFormel
E2=INDEX(A:A;HÄUFIGKEIT(A$2:A$9;C2-0,000000001)+1+(C2>0)*(C2<=A$5))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
und für evtl. unsortierte zahlenWerte in A2:A9:
=KKLEINSTE(A:A;HÄUFIGKEIT(A$2:A$9;C2-0,000000001)+N(C2 Gruß Werner
.. , - ...
Anzeige
{=MIN(WENN(A1:A4>=B1;A1:A4))}
08.09.2008 15:18:24
WF
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
Salut WF

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige