Anzeige
Archiv - Navigation
252to256
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
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

summe der bis zu x-kleinsten Werte

summe der bis zu x-kleinsten Werte
06.05.2003 18:51:13
Haseitl Johannes
Gibt es eine Formel mit der ich die Summe der bis zu x-kleinsten Werte bilden kann. Dabei soll als Wert auch 0 zählen.

Z.b:
3 4 7 9 4 7 3 0 0 1 1 2

x=5 =>Summe von kleinsten bis fünftkleinsten Wert: 0+0+1+1+2=4


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=SUM(SMALL(G8:N8;ROW($A$1:OFFSET($A$1;J18-1;0))))
06.05.2003 19:10:47
Helmut T.

Hallo Johannes,

eine Matrixformel hilft hier weiter:

=SUM(SMALL(G8:N8;ROW($A$1:OFFSET($A$1;J18-1;0))))

(auf deutsch vermutlich: SUMME, KKLEINSTE, BEREICH.VERSETZEN)

Im Beispiel sind die Werte in G8:N8, die Vorgabe für die x Kleinsten zu Addierenden steht in J18.

Die Matrix durchläuft x (J18) Schleifen durch Einsatz der OFFSET/BEREICH.VERSETZEN Funktion und addiert den jeweils x-kleinsten Wert über die SUM/SUMME Funktion.

Matrixformel mit Strg+Umsch+Enter abschließen!

Probier's mal aus. Würde mich interessieren, ob das so in Deinem Anwendungsfall klappt.

Gruß,
Helmut.

Anzeige
Re: =SUM(SMALL(G8:N8;ROW($A$1:OFFSET($A$1;J18-1;0))))
06.05.2003 19:35:33
Haseitl Johannes

SUM = SUMME
SMALL = KKLEINSTE
ROW = ZEILE
OFFSET = BEREICH.VERSCHIEBEN
J18 = x
G8:N8 = Bereich in dem die Werte stehen
$A$1 = ?????? (Für was ist das gut?)

Stimmt das was ich hingeschrieben habe?

Kannst Du mir die Formel ggf. noch etwas genauer erklären?


Re: =SUM(SMALL(G8:N8;ROW($A$1:OFFSET($A$1;J18-1;0))))
06.05.2003 19:40:47
Helmut T.

Hi,

stimmt alles.

$A$1 ist der Anker, wird für die Schleife der Array/Matrixformel benötigt. Was in A1 steht spielt keine Rolle. Wichtig ist, dass die Zeilennummern, die x (J18) Zeilen unter A1 stehen, als Schalter an die KKLEINSTE Funktion übergeben werden, denn es sollen ja die x kleinsten Werte ermittelt und dann addiert werden.

Die Formel ist vermutlich etwas schwer zu erklären, wie viele Array/Matrixformeln ... hoffe, die Erläuterungen bisher helfen etwas.

Klappt die Formel bei Dir?

Gruß,
Helmut.

Anzeige
Re: summe der bis zu x-kleinsten Werte
06.05.2003 20:11:27
Holger Levetzow

versuche mal:

{=SUMME(WENN(A1:L1<=KKLEINSTE(A1:L1;5);A1:L1;0))}

{} nicht mit eingeben, sondern Formel mit Strg+Umsch+Enter abschließen

Probleme wird es geben bei z.B.:
3 4 7 9 4 7 3 0 0 1 1 3

x=5 =>Summe von kleinsten bis fünftkleinsten Wert: 0+0+1+1+3+3+3=11, da die 3 ja 3mal vorkommt (auch bei der anderen Version).

Holger

Summe der 5 kleinsten Werte ohne Array:
07.05.2003 12:38:51
Boris

Hi Johannes,

bezogen auf A1:A10:

=SUMMENPRODUKT(N(KKLEINSTE(A1:A10;ZEILE(1:5))))

summiert die 5 kleinsten Werte.

Gruß Boris


Re: summe der bis zu x-kleinsten Werte
07.05.2003 12:57:41
Helmut T.

Hallo Holger,

das Problem mit "3 4 7 9 4 7 3 0 0 1 1 3" tritt bei "meiner Variante" nicht auf, da KKLEINSTE nur genau x-mal ausgeführt wird:

{=SUMME(KKLEINSTE($C$28:$Q$28;ZEILE($A$1:BEREICH.VERSCHIEBEN($A$1;B26-1;0))))}

Man müsste diese Formel nur noch ev. gegen Fehler absichern, z.B. dass B26 (Anzahl Durchläufe) nicht größer als die Anzahl der Werte wird usw.

Aber {=SUMME(WENN(A1:L1<=KKLEINSTE(A1:L1;5);A1:L1;0))} ist trotzdem eine tolle Idee und noch einen Tick kürzer als mit dem BEREICH.VERSCHIEBEN "Trick" ;-)

Grüße,
Helmut.


Anzeige
Re: =SUM(SMALL(G8:N8;ROW($A$1:OFFSET($A$1;J18-1;0))))
07.05.2003 13:01:41
Haseitl Johannes

Ja, Danke es geht anscheinend! :) *juhu*

P.S.: Gibt es irgendeine Anleitung zu Array-Formeln im Internet?

Re: summe der bis zu x-kleinsten Werte
07.05.2003 13:23:23
Haseitl Johannes

Danke für die Antwort,
aber gerade dieses Problem will ich ausschließen :)

P.S.:
Das gleiche erreicht man auch mit
=SUMMEWENN(A1:L1;"<="&KKLEINSTE(A1:L1;5))

Noch 'ne Arrayformel
07.05.2003 14:36:37
Martin Beck

Hallo Johannes,

reicht nicht einfach

=SUMME(KKLEINSTE(A1:L1;ZEILE(1:5)))

?

Als Arrayformel eingeben.

Gruß
Martin Beck

Die 5 kleinsten ohne doppelte summieren
07.05.2003 14:41:10
Boris

wow
07.05.2003 16:29:35
Helmut T.

wow ... ich glaube, kürzer wird's nicht mehr gehen ;-)


308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige