Automatisches Ausfüllen nach Abschnitten oder Bedingung für eine andere Zelle

436
David

Ich habe Daten, die so aussehen:

Jahr der Klasse Yr1 Yr2 SeasonalityIndex AUS 9-Aug 01 0,060465116 AUS 16-Aug. 6 0 0,362790698 AUS 23-Aug 2 1 0,181395349 BVE 9-Aug 2 0? 

Ich möchte die Seasonality Index-Spalte automatisch ausfüllen. Der Code für diese Zellen sieht jedoch so aus:

=(D55+E55)/SUM($D$55:$E$67)*$H$1 

Wo H1ist eine Konstante, aber wie Sie sehen, ist jeder Index von SUMME aller Werte in dieser KLASSE für Jahr 1 ( Yr1) und Jahr 2 ( Yr2) abhängig . Wenn sich die Klasse ändert, möchte ich, dass die automatische Füllung zum nächsten Abschnitt wechselt.

Offensichtlich funktioniert ein normales automatisches Ausfüllen in diesem Fall nicht, da die Zellen gesperrt sind. Jeder Abschnitt enthält genau 13 Zeilen, wenn dies hilft.

0

2 Antworten auf die Frage

0
NZKate

Ich bin nicht sicher, ob dies für Sie praktikabel ist, Sie könnten jedoch Folgendes versuchen: 1. Benennen Sie jeden Bereich mit demselben Namen wie der Name der Klasse. 2. Ersetzen Sie die Summe durch: = (D55 + E55) / SUM (INDIREKT (A55)) * $ H $ 1, vorausgesetzt, A55 ist die Zelle mit dem Namen der Klasse.

Natürlich ist das Benennen der Bereiche ein wenig schmerzhaft. Sie hängt davon ab, wie viel Sie diese Tabelle verwenden und ob sie häufig im exakt gleichen Format wiederverwendet wird.

0
G-Man

Wenn Sie möchten, dass ein Ausdruck ausgewertet wird, SUM($D$55:$E$67)wenn er in den Zeilen 55-67 ausgewertet wird, und ausgewertet wird, SUM($D$68:$E$80)wenn er in den Zeilen 68-80 usw. ausgewertet wird, verwenden Sie

SUM(OFFSET($D$3, 13*INT((ROW()-3)/13), 0, 13, 2)) 

(Fügen Sie dies in Ihre vollständige Formel ein.) Die Zeilennummern 55 bis 67 werden in 52 bis 64 konvertiert (durch Subtraktion von 3), die 4 bis 4.923 ergeben (durch Division durch 13), die alle in 4 durch konvertiert werden INT(). Dann multiplizieren Sie mit 13, um wieder auf 52 zu gelangen, und verwenden Sie diesen als Versatz D3, um darauf zu gelangen D55.


Oder verwenden Sie, um die Werte in den Spalten D und E für Zeilen hinzuzufügen, die denselben Wert in Spalte A wie die aktuelle Zeile haben

(SUMIF($A$1:$A$999, $A1, $D$1)+SUMIF($A$1:$A$999, $A1, $E$1)) 

was ziemlich genau das macht, was ich gerade beschrieben habe. Ersetzen Sie 1 und 999 durch den Zeilenbereich, in dem Sie Klassendaten haben.

Es scheint, dass es möglich sein sollte, das Obige zu einer einzigen Spalte SUMIF(oder vielleicht sogar SUMIFS) zu kombinieren, die die Spalten D und E summiert, aber ich konnte es nicht verstehen.