Ich habe derzeit ein Excel-Arbeitsblatt ähnlich dem folgenden ( # 'stehen für leere Zellen )
%Vor%In Spalte 8 brauche ich die Summe der letzten 3 nicht leeren Zellen (die Anzahl der Spalten wird regelmäßig erhöht).
Ein Beispiel für das, was ich erreichen muss, ist unten:
%Vor% Ich habe es geschafft, der Funktion LARGE
sehr nahe zu kommen, aber das gibt mir nur die 3 größten, nicht die letzten 3 nicht-leeren:
Hier ist noch eins:
%Vor%Aus Ссылка
Er gibt die Spalte an, aus der die Summe gebildet werden soll, und da leere Zellen Null sind, spielt es keine Rolle, wie viele sich vermischen.
Wenn Daten in A1: G1 sind, versuchen Sie diese Formel in H1
=IF(COUNT(A1:G1)>2,SUM(OFFSET(A1,0,MATCH(9.99E+307,A1:G1)-1,1,-3)),NA())
Ich weiß, dass die Profis hier dieses hassen werden. Aber ich arbeite mit Daten in den Hunderttausenden von Zeilen und Millionen von Zellen, und ich bevorzuge Helper-Zeilen und komplexe Formeln über Array-Formeln jeden Tag. Da es Berechnungen zu Brüchen schneidet. Selbst wenn die Wartung mehr Arbeit ist, verbringe ich weniger Zeit damit, eine Formel zu fixieren und warte dann auf Berechnungen von Arrays bei jeder Änderung der Daten (für mich ändern sich meine Daten alle 10 Minuten). Also alle Hunderttausende von Arrays auf Millionen von Zellen alle 10 Minuten wird einfach nicht funktionieren. Also, hier ist nur eine Alternative.
%Vor%Wenn es nicht 3 Werte zu summieren gibt, gibt es NA zurück, andere funktionieren von rechts nach links, um nach der ersten Zelle zu suchen, mit der von dieser Zelle bis zum Ende 3 Zahlen drin sind, dann summiert man diese.
Wenn Ihre Daten mehr Spalten enthalten als Ihre Frage. Sie können dynamische Bereiche verwenden, um den Code etwas zu bereinigen.
Eine andere funktionierende Nicht-Array-Formel:
%Vor%einfach setzen wird summieren, was auch immer Bereich vom Ende hat eine Zählung von 3.
Newbee-Warnung: Ich weiß, dass der Post alt ist, aber wenn jemand noch da draußen ist, bin ich scharf darauf, Hilfe auf Ableitung der Formel Dick zur Verfügung gestellt, wodurch ich die Zählung über mehrere Zeilen zum Beispiel laufen lassen möchte [2 in diesem Fall]:
= IF(COUNT(A1:G2)<3,"NA",SUM(G2:INDEX(A1:G2,LARGE(COLUMN(A1:G2)*(A1:G2<>""),3))))
Letztendlich versuche ich, eine Summe der letzten drei Zellen mit Zahlen in 12 über
zu ziehen %Vor%Wenn jemand Licht geben kann, wäre ich sehr dankbar.
Vielen Dank: Ryan
Tags und Links excel excel-vba worksheet-function