Ich möchte wissen, wie man eine kurze Formel für die folgende lange Formel in einer Excel-Tabelle erstellt:
= (A1*A6)+(B1*B6)+(C1*C6)...
Benutze ich eine Summenfunktion oder gibt es dafür eine andere Funktion? Ich denke, der Doppelpunkt mit der SUM
Funktion sollte helfen, aber ich weiß nicht, wie man es benutzt.
Antworten:
Sie suchen die Funktion SUMPRODUCT .
Dies gibt die Summe der Produkte der entsprechenden Artikel in zwei (oder mehr) Bereichen zurück.
Wie Sie der von mir verlinkten Microsoft-Dokumentation entnehmen können, müssen die Bereiche keine einzelnen Zeilen oder Spalten sein (obwohl sie die gleichen Abmessungen haben müssen).
SUMPRODUCT kann Werte aus bis zu 255 verschiedenen Bereichen multiplizieren. Zum Beispiel
=SUMPRODUCT(A1:C1,A6:C6,A11:C11)
ist das gleiche wie=A1*A6*A11+B1*B6*B11+C1*C6*C11
.quelle
SUM
Funktion funktioniert nicht, da sie nur die Elemente hinzufügt. Sie müssen die Werte vor der Übergabe an SUM wie multiplizieren=SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)
Natürlich können Sie auch verwenden,
=A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6
was zum gleichen Schreibaufwand führt wieSUM
Es gibt viele bessere Lösungen. Eine Möglichkeit ist die Verwendung einer Array-Formel . Sie können ein genaues Beispiel wie das Ihre dort sehen:
Um in Ihrem Fall eine Array-Formel zu verwenden, können Sie Folgendes eingeben (natürlich müssen Sie das letzte Element des Arrays entsprechend ändern)
und dann Ctrl+ Shift+ drückenEnter
Matrixformel ist ein sehr leistungsfähiges Werkzeug. Verwenden Sie es jedoch mit Vorsicht. Jedes Mal, wenn Sie es bearbeiten müssen, dürfen Sie nicht vergessen, Ctrl+ Shift+ zu drückenEnter
Es ist auch schneller, da das Zugriffsmuster bereits bekannt ist. Anstatt nun elf verschiedene Berechnungen separat durchzuführen, kann dies unter Verwendung mehrerer Kerne und einer SIMD-Einheit in der CPU vektorisiert und parallel ausgeführt werden
quelle
MOD
)SUMPRODUCT
brechen ab und müssen dann durch eine Array-Formel ersetzt werden. Ganz zu schweigen von der Tatsache, dass in jeder veröffentlichten Version von Office noch häufiger verwendete Array-Formeln als offizielle Funktionen hinzugefügt wurden (z. B.MAXIFS
in 365). Wenn Ihre Array-Formel langsam, klobig und fehlerhaft ist, müssen Sie wahrscheinlich Ihren Code optimieren. Und natürlich - da PowerQuery eine zusätzliche Add-In-Erweiterung ist, werden viele Unternehmen es (aus verschiedenen Gründen) nicht in ihr Corporate-Build-Paket aufnehmen, was es zu einer minderwertigen Lösung für verteilte Geschäftszwecke macht.Ein anderer Ansatz ist, A7 den Ausdruck = A1 * A6 einzugeben und so weit wie möglich nach rechts zu kopieren, und dann die Zeile $ 7 $ zu summieren, um die endgültige Antwort zu erhalten. Es funktioniert nicht in einer Zelle, wie Sie es möchten, aber manchmal ist es praktisch, die Zwischenprodukte zu haben. Ich habe beide Versionen benutzt. Dieser fühlt sich für mich exzellent an, aber Ihr Geschmack kann davon abweichen.
quelle
Wenn Sie eine Liste von Zahlen in Spalten anstelle von Zeilen einfügen (z. B. zwei Spalten A und B), können Sie die Funktion = Summenprodukt (A: A, B: B) so verwenden. Sie erhalten das Produkt aus so vielen Zahlen, wie es in den Spalten A und B gibt.
Sie können so viele Spalten in der Sumproduct-Funktion verwenden, wie Sie benötigen
quelle
Wenn in den Zeilen 1 und 6 nichts anderes steht als das, wofür Sie ein haben möchten
SUMPRODUCT()
, können Sie die in diesem Kommentar erwähnte Idee verwenden . In Ihrem Fall, wie in Ihrer Frage umrissen, würden Sie verwenden=SUMPRODUCT(1:1,6:6)
quelle
SUMPRODUCT(1:1,2:2)
eine Antwort, und ich habe auf der Grundlage dieses Kommentars eine Antwort gegeben, in der erläutert wird, wie er auf der Grundlage der ursprünglichen Frage verwendet werden kann und welche Einschränkung dies bedeuten würde.