+-----+-----+-----+-----+-----+-----+-----+-----+
| | A | B | C | D | E | F | G |
+-----+-----+-----+-----+-----+-----+-----+-----+
| 1 | 5 | 6 | 5 | 9 | 4 | 8 | 3 |
+-----+-----+-----+-----+-----+-----+-----+-----+
Ich betrachte das obige Blatt und suche nach einer Möglichkeit, in Excel/Calc die ersten fünf Zahlen zu erhalten.
Die einzige Möglichkeit, die mir bisher einfällt, ist die Verwendung von 5 verschiedenen GROSSEN Funktionen
=LARGE(A1:G1, 1)
=LARGE(A1:G1, 2)
=LARGE(A1:G1, 3)
=LARGE(A1:G1, 4)
=LARGE(A1:G1, 5)
Damit hätte ich die fünf höchsten Zahlen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, dies mit einer einzigen Formel zu tun, die Folgendes zurückgibt:
9, 8, 6, 5, 5
in einer einzigen Zelle?
Noch eine Frage: Anstatt sie auszudrucken, möchte ich die Zahlen auch in einer anderen Zelle summieren.
Antwort1
Sie können TEXTJOIN() als Array-Formel verwenden.
=TEXTJOIN(",",TRUE,LARGE(A1:G1,ROW($1:$5)))
Wenn ROW($1:$5)
es als Array eingegeben wird, wird das Array zurückgegeben, {1,2,3,4,5}
das die fünf größten Zahlen für TEXTJOIN zurückgibt.
Sie erzwingen das Array, indem Sie beim Verlassen des Bearbeitungsmodus die Formel mit Strg-Umschalt-Eingabe statt mit der Eingabetaste bestätigen.
TEXTJOIN ist in Office 365 Excel verfügbar.
Um die Summe zu erhalten, können wir dasselbe LARGE innerhalb eines SUMPRODUCT verwenden:
=SUMPRODUCT(LARGE(A1:G1,ROW($1:$5)))
Bei älteren Versionen bleiben Sie bei Folgendem hängen:
=LARGE(A1:G1, 1) & "," & LARGE(A1:G1, 2) & "," & LARGE(A1:G1, 3) & "," & LARGE(A1:G1, 4) & "," & LARGE(A1:G1, 5)
Oder Helferzellen.