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

Max Wert Formel

Max Wert Formel
Steffen
Hallo Zusammen,
Ich suche eine Formellösung die mir einen Namen unter bestimmten Bedingungen ausgibt.
https://www.herber.de/bbs/user/69726.xls
Danke und viele Grüße
Steffen

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Max Wert Formel
25.05.2010 15:56:08
ChrisL
Hi Steffen
Ich würde eine Hilfsspalte machen
D2 =SUMMEWENN(A$2:A$8;A2;C2:C8)
Anschliessend die bereits vorhandene Formel verwenden.
Gruss
Chris
AW: Max Wert Formel
25.05.2010 16:17:31
Steffen
Hallo Chris,
eine Hilfsspalte kommt für mich leider nicht in Frage , da dies nur eine Bsp Datei ist.
Die Originaldatei enthält eine stetig wachsende Zeilenanzahl (>4000 Zeilen) somit währe die Hilfsspalte unnötig groß.
Grüße
Steffen
AW: Max Wert Formel
25.05.2010 17:37:21
Christian
Hallo Steffen,
Zitat: Formel gibt mir den Namen mit dem max Wert von Code 41,gesucht wird aber der Name mit der Summe des max Wertes,wenn dieser größer ist.
Kannst Du das bitte mal genauer erklären?
Bei Code 41 ist doch 9 größer als 5, oder?
MfG Christian
Anzeige
AW: Max Wert Formel
25.05.2010 20:33:04
Steffen
Hi Christian,
Gesucht wurde der Name der den größten Wert hat.
Wenn nun aber der Name mehrmals mit code 41 vorkommt ,dann kann es sein ,dass die Summe größer als der einzel Wert ist.
Genau das macht die Formel von {Boris}
Danke fürs Interesse
viele Grüße
Steffen
MMULT
25.05.2010 17:47:40
{Boris}
Hi Steffen,
auf die Schnelle - geht sicher auch noch einfacher. Aber MMULT muss wohl sein:
{=INDEX(A2:A8;VERGLEICH(MAX(MMULT((MTRANS(B2:B8=41))*(MTRANS(A2:A8)=A2:A8)*MTRANS(C2:C8);ZEILE(1:7) ^0));MMULT((MTRANS(B2:B8=41))*(MTRANS(A2:A8)=A2:A8)*MTRANS(C2:C8);ZEILE(1:7)^0);)) }
ARRAYformel!
Grüße Boris
Anzeige
Perfekt..
25.05.2010 20:03:11
Steffen
Boris!
..ich wurschtel mich mal da durch! ;-)
Vielen Dank! &
viele Grüße
Steffen
Zum besseren "wurschteln"
25.05.2010 20:45:59
{Boris}
Hi Steffen,
vielleicht stolperst Du über
ZEILE(1:7) ^0
1:7 deshalb, weil Du 7 Einträge hattest. Sind es mehr, musst Du das entsprechend erweitern auf ZEILE(1:x).
Dadurch wird das passende Einserarray für MMULT erzeugt (denn jede Zahl ^0 = 1).
Grüße Boris
Gedankenleser! :-) ..Dank! owT
25.05.2010 21:42:42
Steffen
.
Verwurschtelt!
25.05.2010 22:35:06
Steffen
Hallo Zusammen!
..nun ist es passiert, ZEILE(1:7)muss dynamisch sein!
Ich habe für den Anfangs/Endbereich (Zeile) eine Formel in jeweils einer Zelle ,die mir diese ausgeben:
=ZEILE($N6:$O6)
"N6" enthält den Wert 1 & "O6" enthält den Wert 338.
(Zeile) kapiert aber nicht das es den Inhalt der Zellen nehmen soll u nicht deren Adresse :-(
Nun dachte Ich lese ich halt den Wert aus und gebe im (Zeile) :
=ZEILE(INDEX(N5:N16;1):INDEX(O5:O16;1))
Pustekuchen, geht auch nicht!
@{Boris} @All Wat nun?
Viele Grüße
Steffen
Anzeige
Alles kein Problem...
25.05.2010 22:43:06
{Boris}
Hi Steffen,
dafür gibt´s dynamische Bereichgrößen - zum Beispiel erzeugbar via INDIREKT oder BEREICH.VERSCHIEBEN.
Aber gestatte vorher die Frage: Was spricht gegen einen von vornherein ausreichend groß dimensionierten Bereich? Hier mal bis Zeile 1000:
{=INDEX(A2:A1000;VERGLEICH(MAX(MMULT((MTRANS(B2:B1000=41))*(MTRANS(A2:A1000)=A2:A1000) *MTRANS(C2:C1000);ZEILE(1:999) ^0));MMULT((MTRANS(B2:B1000=41))*(MTRANS(A2:A1000)=A2:A1000) *MTRANS(C2:C1000);ZEILE(1:999)^0);)) }
?
Grüße Boris
nicht für Dich ;-)
25.05.2010 22:57:00
Steffen
Hi Boris,
schön das Du dich meiner annimmst!
Ich brauche mehrere Abfragen wer mit code die max Werte hat.Die Abfrage basiert auf einer Datenbank in der Datumswerte stehen.
Sprich von Zeile 1:388 Abfrage für Januar
Zeile 399:674 Abfrage für Februar
etc
..da die Angaben im laufenden Jahr gemacht werden ,kann ich im vorein nicht festlegen von wo bis wo die Zeilen abgefangen werden sollen...
..ich versuche mal dein Tipp mit INDIREKT oder BEREICH.VERSCHIEBEN umzusetzen
Grüße
Steffen
Anzeige
Mit von-Zeile und bis-Zeile
25.05.2010 23:05:47
{Boris}
Hi Steffen,
so sieht das dann aus (in H1:H2 gibst Du von- und bis-Zeile vor):
Tabelle1

 ABCDEFGH
1NameCodeWert   von Zeile3
2Marx415 Schulz bis Zeile6
3Mayer444     
4Müller457     
5Schulz955     
6Schulz413     
7Marx415     
8Mayer419     
9        

Formeln der Tabelle
ZelleFormel
E2{=INDEX(DieNamen;VERGLEICH(MAX(MMULT((MTRANS(DieCodes=41))*(MTRANS(DieNamen)=DieNamen)*MTRANS(DieWerte); DieZeilen^0)); MMULT((MTRANS(DieCodes=41))*(MTRANS(DieNamen)=DieNamen)*MTRANS(DieWerte); DieZeilen^0); ))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
E2DieCodes=BEREICH.VERSCHIEBEN(Tabelle1!$B$1;Tabelle1!$H$1-1;;Tabelle1!$H$2-Tabelle1!$H$1+1)
E2DieNamen=BEREICH.VERSCHIEBEN(Tabelle1!$A$1;Tabelle1!$H$1-1;;Tabelle1!$H$2-Tabelle1!$H$1+1)
E2DieWerte=BEREICH.VERSCHIEBEN(Tabelle1!$C$1;Tabelle1!$H$1-1;;Tabelle1!$H$2-Tabelle1!$H$1+1)
E2DieZeilen=ZEILE(INDIREKT("1:"&Tabelle1!$H$2-Tabelle1!$H$1+1))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Grüße Boris
Anzeige
ich komm aus dem Staunen nicht raus :-)
25.05.2010 23:13:51
Steffen
..Ich bin begeistert Boris!
Danke auch dafür!
Nochmals und immer wieder schöne Grüße
Steffen
Und jetzt alles noch dynamisch
25.05.2010 22:54:25
{Boris}
Hi Steffen,
dabei hab ich mich stetst an der LÜCKENLOS gefüllten Spalte A orientiert (Überschriften in Zeile 1!), was die notwendige Zeilendimension angeht:
Tabelle1

 ABCDE
1NameCodeWert  
2Marx415 Marx
3Mayer444  
4Müller457  
5Schulz955  
6Schulz413  
7Marx415  
8Mayer419  
9     
10     
11     

Formeln der Tabelle
ZelleFormel
E2{=INDEX(DieNamen;VERGLEICH(MAX(MMULT((MTRANS(DieCodes=41))*(MTRANS(DieNamen)=DieNamen)*MTRANS(DieWerte); DieZeilen^0)); MMULT((MTRANS(DieCodes=41))*(MTRANS(DieNamen)=DieNamen)*MTRANS(DieWerte); DieZeilen^0); ))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen
Namen in Formeln
ZelleNameBezieht sich auf
E2DieCodes=BEREICH.VERSCHIEBEN(Tabelle1!$B$2;;;ANZAHL2(Tabelle1!$A:$A)-1)
E2DieNamen=BEREICH.VERSCHIEBEN(Tabelle1!$A$2;;;ANZAHL2(Tabelle1!$A:$A)-1)
E2DieWerte=BEREICH.VERSCHIEBEN(Tabelle1!$C$2;;;ANZAHL2(Tabelle1!$A:$A)-1)
E2DieZeilen=ZEILE(INDIREKT("1:"&ANZAHL2(Tabelle1!$A:$A)-1))
Namen verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Grüße Boris
Anzeige
Danke Boris ! ..Perfekt! Grüße Steffen owT
25.05.2010 23:11:22
Steffen
.
Kürzere Lösung für xl2007-User
26.05.2010 21:54:07
{Boris}
Hi,
nur für´s Archiv - ab xl 2007 gibt´s dank der neuen ...S-Funktionen ne kürzere Lösung:
{=INDEX(A2:A9;VERGLEICH(MAX(SUMMEWENNS(C:C;B:B;41;A:A;A2:A9));SUMMEWENNS(C:C;B:B;41;A:A;A2:A9);0))}
Wie gesagt - erst ab xl2007!
Grüße Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige