Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1632to1636
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

Größter Wert aus Zeile in Spalten addieren

Größter Wert aus Zeile in Spalten addieren
07.07.2018 21:13:15
J.
Hallo,
ich muss ein einer Tabelle die in Zeilen z.B. immer 3 Werte enthält, immer die Werte pro Spalte addieren, die die jeweils 2 größten der Zeile darstellen.
In der Beispieltabelle, dürfte also immer nur die 2 und die 3 addiert werden, und als Summe in Zeile 4 somit immer nur 5 rauskommen.
_-_A B C
Z1 1 2 3
Z2 3 1 2
Z3 2 3 1
Z4 5 5 5
Wie erreiche ich das? Habe schon mal mit Summewenn und sogar mit Matrixformeln gespielt, aber bislang völlig erfolglos, weil ja pro Spalte gerechnet, aber pro Zeile geprüft werden muss.
Vielen Dank!
Jan

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Größter Wert aus Zeile in Spalten addieren
07.07.2018 21:17:03
J.
Achja, wenn es irgendwie möglich wäre eine Lösung ohne VBA zu finden, wäre das großartig, da die Datei sonst nicht geöffnet werden darf... :/
AW: Größter Wert aus Zeile in Spalten addieren
07.07.2018 21:28:03
SF
Hola,
nimm Kgrösste()+Kgrösste().
Gruß,
steve1da
ohne Handstände (wenn es nur 3 sind)
07.07.2018 21:58:26
WF
Hi,
=SUMME(KGRÖSSTE(A1:C1;{1;2});KGRÖSSTE(A2:C2;{1;2});KGRÖSSTE(A3:C3;{1;2}))
WF
AW: ohne Handstände (wenn es nur 3 sind)
07.07.2018 22:33:22
J.
Erstmal vielen Dank für die schnellen Antworten!
Es sind leider mindestens 5 Spalten, aber über 30 Zeilen.
Das heißt, die Formel oben würde ziemlich monströs werden. Aber grundsätzlich trifft sie wohl genau das was ich tun will.
In den geschweiften Klammern steht vermutlich, dass es der erst- und zweitgrößte Wert sein soll?
Ließe sich sowas irgendwie über eine Array-Formel abbilden?
Vielen Dank nochmal!
Jan
Anzeige
Warum keine Hilfsspalte?
07.07.2018 23:02:52
Sepp
Hallo Jan,
Tabelle1

 ABCDEFGH
151813118  31
2121412810  26
317371017  34
41419161814  37
5161131315  31
61213745  25
71281514  27
86179113  28
994191120  39
108513710  23
111659813  29
1251161010  21
1317194143  36
14119151118  37
151318583  31
16141141620  36
17191721819  38
188612912  24
1913120610  33
20418312  22
21193535  24
228165418  34
236144916  30
241812182015  38
251515389  30
26616141412  30
27191921013  38
283101667  26
29174151716  34
3071719123  36
31       928

Formeln der Tabelle
ZelleFormel
H1{=SUMME(KGRÖSSTE(A1:E1;{1;2}))}
H31=SUMME(H1:H30)
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Warum keine Hilfsspalte?
07.07.2018 23:21:29
J.
Danke für die Antwort!
Ich kann leider keine einzelne Hilfsspalte benutzen, weil ich von jeder Spalte die Werte addieren muss, die jeweils das Kriterium erfüllen müssen, zu den zwei Größten zu gehören. Das wären 5 hilfsspalten, die mir die anderen Berechnungen zerschießen. Deshalb hätte ich gerne die Summenbildung unten drunter, in der letzten Zeile.
Danke für die anschauliche Exceltabelle.
Wie kann ich denn meine Beispieldatei auch so schön anzeigen lassen?
Nicht klar, wie das Ergebnis aussehen soll, ...
08.07.2018 03:19:11
Luc:-?
…Jan;
du hast 5 Spalten mit Werten, deren 2 größte pro Zeile addiert wdn sollen. Wie kann dann das Ergebnis pro Spalte sein, denn du erhältst ja so auch 30 Summen‽ Sollten die nun alle zusammengefasst wdn, wäre das nur ein Wert, die GesamtSumme dieser Summen! Den einzelnen Spalten könnte keine der Summen mehr direkt zugeordnet wdn, nur den Zeilen.
Das wäre dann nur eine Hilfsspalte, wie sie bereits Sepp gezeigt hatte, die dann nur noch summiert wdn müsste. Also, wenn du nicht etwas ganz Anderes willst, wäre das doch deine Lösung! Anderenfalls müsstest du schon etwas mehr von deiner TabellenStruktur ver­raten…
Falls tatsächlich nur eine GesamtSumme der ZeilenSummen der jeweils 2 größten Werte einer Zeile ermittelt wdn soll, könnte man das ohne jegliche Hilfszellen mit einer dualen MatrixFml (einwertig-2zelliges Ergebnis) auf Basis einer benannten Fml mit der die Spei­che­rung der Datei als .xlsm erfordernden* alten XLM-Fkt AUSWERTEN erreichen:
A32:B32: {=WAHL({1.2};"Gesamt:";SUMME(Zeilengrößte))}
Zeilengrößte:=--AUSWERTEN(WECHSELN("summe(kgrösste(A#:E#;{1.2}))";"#";N(ZEILE(INDIREKT("1:30")))))
* Das wäre bei einem generell bei allen Beteiligten/Nutzungsberechtigten installierten AddIn mit entsprd VBA-UDF nicht erforderlich. Alle anderen Empfänger müssten die Datei dann ohne Fmln erhalten.
Morrn, Luc :-?
Anzeige
AW: Nicht klar, wie das Ergebnis aussehen soll, ...
08.07.2018 08:04:14
J.
Hi,
danke für die Antwort!
Hier ein Screenshot und eine Beispieldatei. Damit wird hoffentlich klarer, was ich meine. Sorry, bin noch etwas unerfahren mit dem Forum und wie man sein Problem sinnvoll darstellt.
P.S. Ich habe gerade nur auf die Schnelle die Datei erstellt...
Vielen Dank, Jan
Userbild
https://www.herber.de/bbs/user/122542.xlsx
AW: Nicht klar, wie das Ergebnis aussehen soll, ...
08.07.2018 08:53:59
Luschi
Hallo Jan,
interessant, wie sich die Aufgabenstellung von Antwort zu Antwort verändert:
- erst 3 Spallten, dann 5
- wie Du allerdings eine gerechte Lösung für die Spaltensumme ermitteln willst
- wenn es in der Zeile mehrere gleiche Werte für Minimum/Maximum gibt
- siehe Zeile 8: 6,5 - x -1 - x -1
- aber auch Zeile 4
- ist mir schleierhhaft.
Wären das Prämienzuschläge für die Gruppenmitglieder der Spalte, dann würde ich einen großen Schmollmund aufsetzten, nur weil ich mit dem Bestwert der falsche Spalte zugeordnet bin.
Naja, Du kannst ja die Aufgabenstellung weiter präzisieren/ändern.
Gruß von Luschi
aus klein-Paris
PS: Sepp hatte Dir eine Lösung mit 1 Hilfsspalte vorgeschlagen, warum Du dann auf 5 kommst, ist mir unverständlich. - und Hilfsspalten generell auszuschlagen, führt immer nur zu total verkomplizierten (Matrix)-Formeln, die beim Verändcerung der Ausganslage dann für die Katz sind und das Hilferufen geht von vorne los.
Und diese Lösung von Luc:
=--AUSWERTEN(WECHSELN("summe(kgrösste(A#:E#;{1.2}))";"#";N(ZEILE(INDIREKT("1:30")))))
sieht auch nicht gerade vertrauenserweckend aus, obwohl sie richtig ist und ihren Zweck erfüllt.
Also ran an die Hilfsspalten - es gibt ja mehr als 16.000 und ausblenden kann man sie auch noch.
Anzeige
AW: Nicht klar, wie das Ergebnis aussehen soll, ...
08.07.2018 09:18:02
Sepp
Hallo Jan,
von mir trotzdem eine Hilfsspaltenlösung.
https://www.herber.de/bbs/user/122544.xlsx
Vielleicht zaubert ja jemand noch eine andere Lösung.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
Ohne Hilfszellen
08.07.2018 09:14:58
lupo1
A1:C4:
1 2 3
6 5 4
1 4 2
9 7 8
E1:E4: =SUMME(KGRÖSSTE(A1:C1;{1;2}))
A6:C6: {=SUMME(WENN(A1:A4&gtTEILERGEBNIS(5;BEREICH.VERSCHIEBEN($A1;ZEILE(1:4)-1;;;3));A1:A4))} mit Nr.5
kleiner Fehler:
08.07.2018 09:18:49
lupo1
Lösung geht von vollständig gefüllten Zellen A1:C4 aus
kleiner Fehler 2
08.07.2018 09:21:41
lupo1
außerdem darf es keine Wiederholer in den Zeilen geben
(kann man wohl noch mit ...+SPALTE(A1:C1)%% heilen)
neopa wird hier bestimmt mit AGGREGAT ...
08.07.2018 09:34:53
lupo1
... eine KGRÖSSTE(...;{1.2})-Anwendung auch über Zeilen liefern, die TEILERGEBNIS nicht beherrscht.
AW: neopa wird hier bestimmt mit AGGREGAT ...
08.07.2018 10:45:08
Luschi
Hallo Lupo1
Du hast die Nebenbedingungen verändert. Gibt es in der Zeile mehrmals den 1. oder 2. Max-Wert,
dann soll nur der 1. Maxwert in die Spaltensumme einfließen aber nicht in denr Nachbarspalten;
siehe Grafik: https://www.herber.de/forum/messages/1632711.html
- Zeile 4 & 8
Anzeige
Das ist nicht das einzige ...
08.07.2018 10:52:42
lupo1
... siehe "kleiner Fehler 2". Dort gebe ich aber schon einen Lösungshinweis mit +SPALTE(A1:C1)%%.
Nein, das eigentliche Problem meiner Lösung ist, dass ich das Minimum ausschließe, statt den erst- und zweitgrößten einzuschließen. Das sind völlig unterschiedliche Fragestellungen.
AW: dem ist (leider) nicht so owT
08.07.2018 17:42:21
neopa
Gruß Werner
.. , - ...
AW: zwei kurze Formeln (ohne {}) ausreichend ...
08.07.2018 17:42:26
neopa
Hallo Jan,
... allerdings davon eine Formel in einer Hilfsspalte (vielleicht hat ja jemand anderes noch eine Idee, wie man ohne Excel4Makro die Ergebnisse der Hilfsspalte ersetzen bzw. einer benannten Formel zuweisen kann).
Die Hilfsspalte hab ich in Spalte I angeordnet (könnte aber in einer beliebigen andern Spalte stehen z.B. auch in Spalte G. Denn Du suchst ja nur die entsprechenden Zeilensummenwerte, dazu bedarf es der bisherigen Summenbildung in Spalte G nicht mehr).
Formeln I2 nach unten und B25 nach rechts kopieren. Dieser Auswertung ist es egal, wie viele Datenwerte in jedem Zeilenbereich gleich groß dem 1. oder 2. größten Wert der Zeile sind, ob negative Werte, Leerzellen bzw. auch ="" bzw. Text- oder gar einzelne Fehlerwerte vorhanden sind.
 ABCDEFHI
1 W1W2W3W4W5 H-Sp
2 305 12 4,9996
3 712 2 1,9996
4 9,59,5128  9,4998
5 96,5 42 6,4997
6  76   5,9996
7 76,5  3 6,4997
8 6,5 1 1 0,9996
9 7,52 8  7,4998
10 8 3 10 7,9998
11 9 6   5,9996
12 55 9  4,9998
13 8,52,53 4 3,9994
14 8,5  3  2,9995
15 7,57,512 10 9,9994
16 8,51046 5,9994
17 9 0   -0,0003
18 7,5123  2,9995
19 11,58,5  12 11,4998
20       -0,0003
21 89,9979,999,99 9,9895
22 -11-9,99-10-9,99-15 -9,9905
23  -9,99-9,99-9,99  -0,0006
24        
25Summe grün:12220442354  

Formeln der Tabelle
ZelleFormel
I2=KGRÖSSTE(INDEX(B2:F2-SPALTE(B2:F2)%%;); 2)
B25=SUMMENPRODUKT((B2:B23-SPALTE()%%>=$I2:$I23)*B2:B23)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
Grenzwerte
09.07.2018 12:53:39
Luc:-?
Mal wieder 'ne tolle Idee von Dir, Werner,
einfach nur spaltenabhängige Grenzwerte zu setzen, um mit nur einer Hilfsspalte auskommen zu können und damit gleich noch gleiche Werte reihenfolgeabhängig abzufangen. Das erspart das Jonglieren mit TensorEbenen, wenn diese eine Hilfsspalte akzeptabel ist. Ande­renfalls — mal sehen…
Gruß, Luc :-?
AW: Grenzwerte
09.07.2018 15:46:47
J.
So, die letzten Tage war privat bei mir etwas Land unter. Deshalb erst jetzt mein riesengroßes Dankeschön für die vielen Beiträge! Ich würde sagen mit einer Hilfsspalte kann ich auf jeden Fall leben! Vielen Dank dafür und beste Grüße Jan
AW: evtl. ...
09.07.2018 17:14:21
neopa
Hallo Luc,
... findest Du ja damit noch einen vertretbaren Weg, wie man durch eine benannte Formel die Hilfsspalte ersetzen könnte. Hatte gestern die meiste Zeit daran mich vergeblich versucht. Unabhängig davon würde ich wahrscheinlich trotzdem die Hilfsspalte vorziehen.
Gruß Werner
.. , - ...
Anzeige
Bisher habe ich das mit Deinem Ansatz, ...
10.07.2018 19:15:10
Luc:-?
…Werner,
nur mittels der FmlText-Auswertungs-UDF TxEval in singularen MatrixFmln geschafft:
A35[:E35]: {=SUMME((MTRANS(A1:A30)-SPALTE()%%>=TxEval(WECHSELN("large(A#:E#-column(A:E)%%,2)";"#";ZEILE(1:30))))*MTRANS(A1:A30))}
Die XLM-Fkt AUSWERTEN sperrt sich noch gg ähnliche Fml-Konstrukte, weshalb Deine Lösung wohl die rationellste bleiben wird…
Gruß, Luc :-?
AW: danke für Deine Info owT
10.07.2018 19:28:12
neopa
Gruß Werner
.. , - ...
Nachtrag: BedingtFormatierung
11.07.2018 02:45:21
Luc:-?
Habe noch einen anderen, ggf vertretbaren Ansatz ohne Hilfszellen gefunden, Werner,
nämlich über die BedingtFormatierung. Ich hatte damit die relevanten Zellen gefärbt, allerdings mit Zellwert zwischen. Aber Dein Ansatz ist besser, weshalb ich die nun auf Zellwert≥Grenzwert umgestellt habe, wobei mir noch eine andere Idee kam (s.unten).
Die (bedingte) Zellfarbe könnte man mit 2 UDFs spaltenweise auswerten:
A31[:E31]: {=SUMME(A1:A30*MTRANS(TxEval("CellColor("&ADRESSE(ZEILE(1:30);SPALTE(A1);4)&")")=10213316))}
Bed1: Zellwert (A1:E30) ≥ KGRÖSSTE($A1:$E1-SPALTE()%%;2); bedZellfarbe RGB: #C4D79B (196.215.155)
Aber eine andere Möglichkeit ist ggf besser, nur benötigt sie ebenfalls eine UDF, weil die alte XLM-Fkt ZELLE.ZUORDNEN einen bedingt formatierten ZellText zwar wiedergeben kann, leider stets nur für eine Zelle. Wenn jemand es schafft, das irgendwie zu umgehen, wäre das eine echte VBA-freie Alternative! Anderenfalls muss diese UDF* alle jeweils gezeigten Formate der Spalte zurückgeben. Die ZellFml kann dann sogar eine normale sein:
A33[:E33]:=SUMMENPRODUKT(--(LINKS(GetText(A1:A30))="x");A1:A30)
Bed1: Zellwert (A1:E30) ≥ KGRÖSSTE($A1:$E1-SPALTE()%%;2); bedZahlformat: x Standard
Damit kann man praktisch eine AnkreuzListe in jede Spalte integrieren, so dass nur noch die Zahlen mit bedingt gesetztem x berücksichtigt wdn müssten.
* Hinweis für SelbstEntwickler: Diese UDF kann sehr einfach gehalten wdn; sie muss nur ganze ZellBereiche (zumindest 1 Spalte bzw Zeile) verarbeiten können, um hier von Nutzen zu sein.
Luc :-?
Anzeige
AW: die spez. Funktionalität der bed. Format. ...
11.07.2018 08:41:22
neopa
Hallo Luc,
... eine interne Matrix ausgehend von einer Zelle zugeordneten Formel "aufzubauen" und dann auch versetzt auszuwerten, scheint so wie ich es sehe leider mit einer benannten Formel nicht möglich zu sein, so dass ich momentan auch keinen Weg sehe, eine hilfsspaltenfreie Lösung (ohne zu Hilfenahme von VBA, welches ja zur Erzeugung einer UDF Voraussetzung ist) zu generieren.
Nun, ist ja auch nicht wichtig, solange Hilfsspalten möglich sind, welches ja fast immer der Fall sein dürfte.
Gruß Werner
.. , - ...
Ja, damit hast Du meist, so auch hier, recht! owT
11.07.2018 15:08:28
Luc:-?
:-?

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige