Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Formel/Lösung gesucht Addition einer bestimmten Anzahl von Werten gleichen bzw.
#1
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
Antworten Top
#2
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Time Jester
Antworten Top
#3
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Time Jester
Antworten Top
#4
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.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
[-] Folgende(r) 1 Nutzer sagt Danke an GMG-CC für diesen Beitrag:
  • Time Jester
Antworten Top
#5
............... 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
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Time Jester
Antworten Top
#6
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...
Antworten Top
#7
...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....................!!!!!!!!!!


Angehängte Dateien
.xlsx   Mappe2.xlsx (Größe: 11,07 KB / Downloads: 9)
Antworten Top
#8
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Time Jester
Antworten Top
#9
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
Antworten Top
#10
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • Time Jester
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste