Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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

Berechnung des Rangs unter einer Bedingung

Berechnung des Rangs unter einer Bedingung
17.01.2016 14:46:15
Lutz
Hallo Excel-Experten!
Ich möchte den Rang eines Wertes aus einem Bereich (gesamte Spalte) ermitteln, allerdings unter einer Bedingung: das Datum der Zeile darf nicht älter als 2 Jahre sein.
Meine Tabelle sieht grob vereinfacht so aus, dass in Spalte C das Datum steht und in Spalte D die zu sortierenden Werte. In Spalte E soll der Rang der Zelle in Spalte D ausgegeben werden, wobei der Bezug nur jene Elemente erfasst, die nicht älter als 2 Jahre sind. Also eine Art Besten-Ranking der letzten 2 Jahre.
Bisher löse ich das über eine Hilfsspalte (Wert von Spalte D wird wiederholt sofern Datum kleiner als HEUTE-730) und verwende dann schlicht die RANG-Funktion. Da ich jetzt aber mehrfach den 2-Jahres-Rang innerhalb der Tabelle benötige, die sowieso schon riesig ist, möchte ich die nicht mit Dutzenden von Hilfsspalten vollmüllen.
Deshalb suche ich nach einer Lösung ohne Hilfsspalte. Alles, was ich dazu bisher im Web und hier im Forum gefunden habe, funktioniert aber nicht bei meinem Fall.
Ich hoffe daher sehr, ihr könnt mir weiterhelfen!
Danke im Voraus!!!
Beste Grüße,
Lutz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnung des Rangs unter einer Bedingung
17.01.2016 15:11:19
Sepp
Hallo Lutz,
so?
Tabelle1

 CDEF
1DatumWertRang 
222.07.2012866  
310.08.2012202  
414.08.201432620 
529.11.201430421 
624.10.20155809 
723.08.2013895  
807.01.201638019 
920.03.2013297  
1001.06.2013616  
1126.05.2013895  
1214.07.2012943  
1302.06.2012476  
1425.12.2011693  
1512.01.2012208  
1614.06.2014494  
1718.08.201550514 
1829.07.2012930  
1904.04.201522024 
2027.08.20147176 
2112.12.20147157 
2204.01.20159952 
2326.08.2012116  
2411.02.2013539  
2507.03.201540817 
2609.11.2012639  
2708.04.2013774  
2822.10.2012844  
2909.09.2013266  
3031.08.201552813 
3125.01.2012549  
3219.11.20156778 
3305.08.2012974  
3428.09.201523322 
3524.01.2013353  
3631.03.2014925  
3718.07.2013323  
3804.12.20149613 
3928.11.2012885  
4006.12.2012586  
4104.06.201517625 
4221.09.201522923 
4323.03.2012319  
4428.05.2012398  
4506.09.2012566  
4602.08.201438418 
4708.01.201654212 
4803.02.20157685 
4930.11.2012897  
5008.01.2012678  
5127.10.201442615 
5226.02.201554611 
5303.07.2013157  
5416.12.20148394 
5525.07.2013927  
5620.07.201442016 
5715.12.201410001 
5830.12.2012290  
5908.07.2013194  
6004.12.2012299  
6110.04.2014492  
6203.09.2012774  
6319.04.201556510 
6401.03.2012145  

Formeln der Tabelle
ZelleFormel
E2=WENN(C2>HEUTE()-570;SUMMENPRODUKT(($C$2:$C$64>HEUTE()-570)*($D$2:$D$64>D2))+1;"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige
AW: Berechnung des Rangs unter einer Bedingung
22.01.2016 12:07:23
Lutz
Hallo Sepp,
ja, haargenau so sieht das grundsätzlich aus.
Und vielen Dank auch für die Formel!
Ich muss allerdings zugeben, dass ich Deine Formel nicht ganz kapiere: SUMMENPRODUKT mit einem Array +1? Und dann multiplizierst Du die Datumsspalte (C) mit den Werten in D? Uff, das ist zu hoch für mich muss ich zugeben.
Dennoch habe ich Deine Formal natürlich ausprobiert, doch führt die bei mir in meiner Tabelle leider zu falschen Rängen, weil ich nicht der größte Wert in D #1 ist, sondern der kleinste (schneller ist besser). Weil ich aber die ganze Formel nicht kapiere, kann ich die leider nicht selbst entsprechend anpassen ;(
Könntest Du mir daher bitte entweder erklären, wie diese Formel funktioniert oder einfach die "umgekehrte" Formel nennen, die den Rang der Werte in D mit dem geringsten Wert = #1 bewertet?
Danke auch hierfür schon mal im Voraus und beste Grüße,
Lutz

Anzeige
AW: Berechnung des Rangs unter einer Bedingung
22.01.2016 12:15:42
Lutz
Ooooh ha, noch ein Problem: Habe gerade die Formel über die gesamte Spalte kopiert und erhalte den Fehler "Für Excel waren beim Berechnen einer oder mehrerer Formeln nicht genügend Ressourcen vorhanden."
Das liegt wohl daran, dass ich die gesamten Spalten definiert habe:
WENN($C827>=HEUTE()-730;SUMMENPRODUKT(($C:$C>=HEUTE()-730)*($FY:$FY>$FY827))+1;"")
Derzeit reichen die Einträge bis Zeile 827, doch es kommen halt immer neue Einträge hinzu, sodass ich keine festen Bereiche wie Du in Deinem Beispiel von Zeile 2 bis 64 verwenden kann. Nicht zuletzt müsste ich die Formel mehrfach (in ca. 10-12 Spalten) in der Tabelle verwenden, für jeweils einige hundert Zeilen - das scheint doch zu komplex für Excel zu sein (am Rechner liegt's nicht, der hat 16 GB RAM).
Gibt es vielleicht eine Lösung ohne SUMMENPRODUKT?

Anzeige
AW: Berechnung des Rangs unter einer Bedingung
22.01.2016 22:22:05
Sepp
Hallo Lutz,
bei "Excel - Gut", sollte dir klar sein, dass man eine solche Formel nicht über ganze Spalten verwenden darf. Außerdem sollte es auch kein Problem sein, einen Bereich dynamisch, nach Anzahl der vorliegenden Daten zu gestalten.
Tabelle1

 ABCDEFGHIJ
1DatumWert 1Rang 1Wert 2Rang 2Wert 3Rang 3Wert 4Rang 4 
219.11.20151001554991202244711130 
313.10.20141022150032511862188496 
417.07.201510631209259390581399289 
505.03.201510948671718661651296268 
611.11.201410941444316408621699378 
711.11.2015120697819710011972194499 
804.10.20151217217749820674452290526 
922.08.20151248186041822034842373546 
1013.06.201512592091482242955224433 
1119.11.2015136102086479114322642869 
1221.04.2015149112673878914615213 
1308.09.201415112320479371821875413 
1423.11.20151531355198120824634349 
1526.08.2015159141318281110221739161 
1629.06.20151611523465352401544984184 
1714.10.2014166162255512520851459306 
1810.12.20141701723595362211486620115 
1909.09.2015173189421852284510704129 

Formeln der Tabelle
ZelleFormel
C2=WENN($A2>HEUTE()-570;SUMMENPRODUKT((_Datum>HEUTE()-570)*(_Wert<B2))+1;"")
E2=WENN($A2>HEUTE()-570;SUMMENPRODUKT((_Datum>HEUTE()-570)*(_Wert<D2))+1;"")
G2=WENN($A2>HEUTE()-570;SUMMENPRODUKT((_Datum>HEUTE()-570)*(_Wert<F2))+1;"")
I2=WENN($A2>HEUTE()-570;SUMMENPRODUKT((_Datum>HEUTE()-570)*(_Wert<H2))+1;"")
Namen in Formeln
ZelleNameBezieht sich auf
C2_Datum=Tabelle1!$A$2:INDEX(Tabelle1!$A:$A;ANZAHL2(Tabelle1!$A:$A))
C2_Wert=Tabelle1!B$2:INDEX(Tabelle1!B:B;ANZAHL2(Tabelle1!B:B))
E2_Datum=Tabelle1!$A$2:INDEX(Tabelle1!$A:$A;ANZAHL2(Tabelle1!$A:$A))
E2_Wert=Tabelle1!D$2:INDEX(Tabelle1!D:D;ANZAHL2(Tabelle1!D:D))
G2_Datum=Tabelle1!$A$2:INDEX(Tabelle1!$A:$A;ANZAHL2(Tabelle1!$A:$A))
G2_Wert=Tabelle1!F$2:INDEX(Tabelle1!F:F;ANZAHL2(Tabelle1!F:F))
I2_Datum=Tabelle1!$A$2:INDEX(Tabelle1!$A:$A;ANZAHL2(Tabelle1!$A:$A))
I2_Wert=Tabelle1!H$2:INDEX(Tabelle1!H:H;ANZAHL2(Tabelle1!H:H))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
https://www.herber.de/bbs/user/102978.xlsx
Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige