Frage

Eigentlich möchte ich alphabetische Noten mit numerischen Werten versehen und diese summieren.Geben Sie in Excel das ein LOOKUP Funktion in eine Array-Formel funktioniert:

{=SUM(LOOKUP(grades, scoringarray))}

Mit dem VLOOKUP Funktion funktioniert nicht (erhält nur die Punktzahl für die erste Note).Google Spreadsheets scheint das nicht zu haben LOOKUP Funktion und VLOOKUP schlägt auf die gleiche Weise fehl mit:

=SUM(ARRAYFORMULA(VLOOKUP(grades, scoresarray, 2, 0)))

oder

=ARRAYFORMULA(SUM(VLOOKUP(grades, scoresarray, 2, 0)))

Ist das möglich (aber ich habe die Syntax falsch)?Können Sie eine Methode vorschlagen, die es ermöglicht, die Berechnung in einer einfachen Zelle wie dieser durchzuführen, anstatt die Suchvorgänge woanders zu verstecken und sie anschließend zu summieren?

War es hilfreich?

Lösung 3

Ich kann die Formeln in Ihrem Beispiel immer noch nicht sehen (nur Werte), aber das ist genau das, was ich im Hinblick auf das Ergebnis versuche;Natürlich kann ich es schon „nebenbei“ machen und separat summieren – der Schlüssel für mich liegt darin, es in einer Zelle zu machen.

Ich habe es mir heute Morgen noch einmal angeschaut – mit dem MATCH Die Funktion für die Suche funktioniert in einer Array-Formel.Aber dann INDEX Funktion nicht.Ich habe es auch mit versucht OFFSET Und INDIRECT ohne Erfolg.Endlich, das CHOOSE Die Funktion akzeptiert offenbar keinen Zellbereich als Auswahlliste – der Bereich wird auf einen einzelnen Wert reduziert (die erste Zelle im Bereich).Es sollte auch beachtet werden, dass die CHOOSE Die Funktion akzeptiert nur 30 Werte zur Auswahl (laut Dokumentation).Alles sehr nervig.Allerdings habe ich jetzt eine funktionierende Lösung in einer Zelle:Verwendung der CHOOSE Funktion und explizites Auflisten der Ergebniszellen nacheinander in den Argumenten wie folgt:

=ARRAYFORMULA(SUM(CHOOSE(MATCH(D1:D8,Lookups!$A$1:$A$3,0),
                                     Lookups!$B$1,Lookups!$B$2,Lookups!$B$3)))

Offensichtlich lässt sich das nicht sehr gut erweitern, aber hoffentlich sind die Nachschlagetabellen von Natur aus ziemlich fest.Bei größeren Nachschlagetabellen ist es mühsam, alle Zellen einzeln einzugeben, und manche Leute überschreiten möglicherweise die Grenze von 30 Zellen.

Ich würde mich auf jeden Fall über eine elegantere Lösung freuen!

Andere Tipps

Ich fürchte, die Antwort lautet nein.Ab dem Hilfetexthttp://docs.google.com/support/spreadsheets/bin/answer.py?answer=71291&query=arrayformula&topic=&type=

Die wahre Stärke von ARRAYFORMULA liegt darin, dass Sie das Ergebnis einer dieser Berechnungen in eine Formel einbinden, die Array- oder Bereichsargumente akzeptiert:SUMME, MAX, MIN, VERKETTEN,

Da vlookup eine einzelne Zelle zum Nachschlagen benötigt (im ersten Argument), glaube ich nicht, dass Sie es zum Laufen bringen können, ohne einen separaten Suchbereich zu verwenden.

Google Spreadsheets scheint nicht über die LOOKUP-Funktion zu verfügen

Damals vermutlich nicht, aber jetzt schon:

SO27774 example

grades Blatt1!A2:A4
scoringarray Blatt1!A2:B4

Ich weiß, dass dieser Thread ziemlich alt ist, aber ich hatte schon seit einiger Zeit mit dem gleichen Problem zu kämpfen.Endlich bin ich auf eine Lösung gestoßen (naja, Frankenstein hat eine zusammengestellt).Es ist nur geringfügig eleganter, sollte aber problemlos mit großen Datenmengen arbeiten können.

Die Lösung verwendet Folgendes:

=ARRAYFORMULA(SUM(INDIRECT(ADDRESS(MATCH(), MATCH())))

als Ersatz für die vlookup-Funktion.

Ich hoffe, das hilft jemandem!

Sie können dies ganz einfach so tun, indem Sie es in der VR-Tabelle fest codieren:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, {{"A", 6};
                                         {"B", 5};
                                         {"C", 4};
                                         {"D", 3};
                                         {"E", 2};
                                         {"F", 1}}, 2, 0)), ))

0

oder Sie können einige Seitenzellen mit Regeln verwenden:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, E2:F, 2, 0)), ))

6


Alternativen: https://webapps.stackexchange.com/a/123741/186471

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top