Clever-Excel-Forum

Normale Version: Excel Formel/Lösung gesucht Addition einer bestimmten Anzahl von Werten gleichen bzw.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Es geht eigentlich nur um ein Problemchen - zumindest erscheint es mir recht profan. Im Vergleich zu dem Kaliber der sonst üblichen Fragen, die hier zur Debatte stehen - weswegen es mich einiges an Überwindung kostet, jemandes kostbare Zeit zu erbitten, um die Lösung für 
ein Problem zu finden, dass ich mir eigentlich selbst zu lösen zugetraut hätte--aber ich stehe wohl irgendwie auf der Leitung


Also nun bin ich soweit vorgedrungen, dass ich es wenigstnes versuchen will: 

Hier ist mein Problem, welches zu lösen ich jetzt schon seit geschlagenen 12 Stunden erfoglos bemüht bin:

ich möchte Excel dazu bewegen, mir aus einer beliebig langen Spalte z.B. nur bestimmte Werte in einer Parallel-Spalte anzuzeigen!

Ich möchte Z.B. nur die Zellen - und zwar eine exakt vorgegebene Anzahl, nehmen wir die jeweils letzten 30 Zellen, die einen Wert haben der größer 2,3 oder <>0 ist in der Parallel-Spalte in B z.B. angezeigt bekommen!
Also nochmal, da ich meiner Artikulationsfähigkeit nicht mehr über den Weg traue:

In Zelle B255 dann in B256 usw. soll nur die Summe der exakt letzten 30 Zellen, die das Kriterium erfüllen (also z.B. > 2,3) aufaddiert werden. Dabei sollte es natürlich keine Rolle spielen dürfen,

ob nun das Ergebnis aus nur 30 Zellen der A Spalte stammt, d.h. um bei dem Beispiel zu bleiben, dass ich weiter oben schon erwähnt habe - so würde ich mir wünschen,
das in Zelle B255 die lezten 30 Werte die das Kriterium erfüllen - und zwar aus der Range von A1 bis A255 aufsummiert angezeigt werden - wenn es exakt die Zellen von A 226 bis A255 sind ist das genauso wenig ein Problem
 wenn die Zellen aus dem Bereich A125:A255 stammen - oder auch aus dem Bereich A5:A255 gesammelt werden müssen - wichtig ist mir nur, das immer nur die letzten z.B. 30 Zellen 
---- die eben genau dem gewünschten Such-Kriterium entsprechen angzeigt werden…

Die Unlösbarkeit des Problems liegt für mich darin, dass ich keine Weg gefunden habe. Mit der Varianz fertig zu werden - denn die Anzahl der durchzusuchenden Zellen variert beträchtlich!



Manchmal sind es 50 Zellen die überprüft werden müssen - also in B500 sollen demnach die 30 Zellen die zwischen A1:A500 liegen angezeigt werden, ein anderesmal, sind die gesuchten Werte im den Zellen A1:A50 dicht gehäuft…
Nun kann es ja durchaus sein, das nach dieser relativen Anhäufung der Zellen mit den gesuchten Werten, eine Strecke entsteht, in der sagen wir mal nach der ersten Anhäufung von30 aus 40 Zellen 500 Zellen kein einziges mal das Suchkriterium
zu finden ist, also sollte Die Formel dafür sorgen, das bis endlich das älteste Ergebnis der 30 Zellen rausfällt, z.B. erst in Zelle 505  eben die Ergebnisse der ersten 30 aus den ersten insgesamt 40 untersuchten Zellen A1:A40

Angezeigt werden - Bis dann in diesem Beipsiel der ertse Wert in Zelle 505 den ersten gefundenen Wert aus z.B. Zelle A2 obsolet macht----diesen also ersetzt…!


Ich bin mir sehr wohl im Klaren, dass auch ein Zweizeiler ausgreicht hätte, um auf den Punkt zu bringen - und zwar verständlich - um was es mir geht…..


Deswegen bedanke ich mich in Voraus schon bei jedem, der sich diesen umtsändlichen Text bis zum bitteren Ende reingezogen hat - hat denn überhaupt einer….na ja, man darf zumindest gespannt sein………….


Mit den besten Wünschen

Time Jester












  1. Huh
Hallo Time Jester,

wenn ein Zwischenschritt keine Probleme macht, dann nutze den Spezialfilter, um eine Liste aller Werte > 2,3 zu erzeugen. Dann nimmst Du von dort die letzten 30.
Da der Spezialfilter - den findest Du in den neueren Excelversionen bei den Filtern unter "Erweitert" - die Daten nur auf Knopfdruck aktualisiert, könntest Du auch auf die Formellösung von excelformeln.de ausweichen.
Hi,

als Versuch:


Arbeitsblatt mit dem Namen 'Tabelle1'
 B
33433

ZelleFormel
B3{=SUMME(AGGREGAT(14;6;A:A/(A:A>B1);ZEILE(A1:A30)))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Moin,
über Daten | Abrufen und transformieren die Daten in den Editor laden, dann über Zeilen verringern die letzten n Zeilen behalten und dann via Trasformieren|Statistiken die Summe bilden.
............... A        B         C        D       E                   F                        G
1             xx
2             xx
...
255                                                             "Bedingung x >"            1,7
256                                                              "Letzten Zellen"            10

B255    =SUMME(WENN((A1:A255>$G$255)*(C1:C255>0);A1:A255))   'Array Formel mit Shift, strg, Enter abschliessen
C255    =$G$256-ZÄHLENWENN(A255:$A$255;">"&$G$255)+1            'und jetzt nach oben kopieren bis C1

Mfg
Ups ...eime vermeintlich simple Angelegenheit - und vier unterschiedliche Lösungsvorschläge....?!
 
- und die sehen alle nicht umkomplizert aus....


Vorweg möchte ich mich bei allen bedanken, die Willens sind und waren, ihr geistiges Eigentum - das im Wesentlichen wohl in dem individuellen, impliziten Wissen besteht, das sich ein Mensch im Laufe seines Lebens - oft von bittere Erfahrungen begleitet, meist mühsam erarbeitet hat, hier in die Beantwortung einer für sie prinzipiell unbedeutenden Frage einfließem zu lassen!

Danke!

Nun will ich mich der gebotenen Lösungsvorschläge widmen...

Nur so viel sei gesagt:
 
Mit Zwischenschritten wird mir kaun geholfen sein, da sich die Datenmenge täglich erhöht, das Resultat der letzten z.B. 30 Ergebnisse also unmittelbar in die Berechnung anderer Prozesse einfließt...
...Es scheint sich wohl doch um ein etwas hartnäkigeres Problem zu handeln...


Falls sich vielleicht doch noch jemnad daran versuchen möchte habe ich mich bemüht, ein plastisches Besipeil zu kreiieren: (Sieh Anhang Mappe2)

In einer perfekten Welt würde sich die Formel die ich in der B Spalte verwendet habe, automatisch fortschreiben - ich möchte demnach die in E1 angegebene Anzahl (in diesem Fall 5) letzten Einträge der A Spalte die <>0 sind in der B Salte aufsummiert haben....

Tha, das ist eigentlich alles...


Nochmals vielen Dank....................!!!!!!!!!!
Hi,

das stellt sich doch etwas anders dar, als bisher beschrieben. Ändert nur wenig an meiner Formel, einmal als Hilfsspalte, einmal als einzelne Formel für die gesamte Spalte:

Arbeitsblatt mit dem Namen 'Tabelle4'
 ABCDE
10,10504,5
210 0 
3 0 0 
4 0 0 
500 0 
60,30 0 
7-0,50 0 
811,9 1,9 
901,9 1,9 
10 1,9 1,9 
11 1,9 1,9 
1201,9 1,9 
13 1,9 1,9 
14 1,9 1,9 
15 1,9 1,9 
1601,9 1,9 
1701,9 1,9 
1812,8 2,8 
1912,8 2,8 
2013,5 3,5 

ZelleFormel
D1{=WENNFEHLER(SUMME(INDEX(B:B;AGGREGAT(14;6;ZEILE($A$1:A1)/($A$1:A1>0);ZEILE($A$1:INDEX(A:A;$C$1)))));0)}
E1{=WENNFEHLER(SUMME(INDEX(B:B;AGGREGAT(14;6;ZEILE($A$1:$A$100)/($A$1:$A$100>0);ZEILE($A$1:INDEX(A:A;$C$1)))));0)}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Hey

in E1 = Anzahl
In B1
Code:
=WENNFEHLER(SUMME(WENN(INDIREKT("A"&KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1);0);$E$1)&":"&
ADRESSE(MAX(ZEILE($A$1:A1));1))<>0;INDIREKT("A"&KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1);0
);$E$1)&":"&ADRESSE(MAX(ZEILE($A$1:A1));1));));"")
Mit shift, strg, Enter abschliessen und runter kopieren
Hi elex,

in Anbetracht der Tatsache, dass INDIREKT eine volatile Funktion ist, sollte man sie nicht einsetzen, wenn es, wie hier, auch ohne geht!
Adresse ist sowieso eine Funktion, derer es in den seltesten Fällen bedarf.
Die Zeichenlänge Deiner Formel ist noch dazu mehr als doppelt so hoch wie bei meinen!


Und es geht noch kürzer:


Code:
=WENNFEHLER(SUMME($A1:INDEX(A:A;KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1));$E$1)));0)
Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1228=WENNFEHLER(SUMME(WENN(INDIREKT("A"&KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1);0);$E$1)&":"&ADRESSE(MAX(ZEILE($A$1:A1));1))<>0;INDIREKT("A"&KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1);0);$E$1)&":"&ADRESSE(MAX(ZEILE($A$1:A1));1));));"")
2102=WENNFEHLER(SUMME(INDEX(B:B;AGGREGAT(14;6;ZEILE($A$1:A1)/($A$1:A1>0);ZEILE($A$1:INDEX(A:A;$C$1)))));0)
3110=WENNFEHLER(SUMME(INDEX(B:B;AGGREGAT(14;6;ZEILE($A$1:$A$100)/($A$1:$A$100>0);ZEILE($A$1:INDEX(A:A;$C$1)))));0)
483=WENNFEHLER(SUMME($A1:INDEX(A:A;KGRÖSSTE(WENN($A$1:A1<>0;ZEILE($A$1:A1));$E$1)));0)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Seiten: 1 2