2009-06-30 4 views
1

Problem Statement:-Setup eine Excel-Vorlage so Berechnungen sind nicht abhängig von einer bestimmten Anzahl von Spalten/Zeilen

ich eine Vorlage für mehrstufigen komplizierten Berechnungen in MS Excel erstellen, die auf ein paar hängen Eingabe "nx 3" Matrizen.

Es ist wirklich schwierig, die 15 Blatt neu zu gestalten oder so (200 ~ 300 Zeilen a) jedes Mal, wenn ich eine anderes "n", wobei "n" im Bereich von 3 bis 900.

Ziele:

  • würde ich zur Eingabe wie die Anzahl von „n“ subsquently in einer Zelle entsprechend alle anderen Blätter in der Arbeitsmappe zu ändern.
  • Vermeiden VBA so viel wie möglich

Wie ich diese Ziele erreichen?

Hinweis: Ich bin bereit, Fragen oder Kommentare über meine Frage zu beantworten

EDIT „n“ steht für die Anzahl der Spalten/Zeilen, wenn n = 3, alle Berechnungen für seinen eine 3 x 3-Matrix. Wenn n = 500 ist, werden alle Berechnungen für eine 500 × 3-Matrix durchgeführt. Ich möchte Excel die Erweiterungen/Kontraktionen der Zeilen automatisch tun, so dass ich sie nicht über Hunderte von Tabellen selbst tun muss

+0

wollen Sie alle Formeln die gleiche Zelle für die n verwenden? – northpole

Antwort

1

In Excel 2007 schalten Sie da ta Matrizen in Tabellen.

Dies kann durch einen Klick auf einer Matrix und dann auf dem Insert Registerkarte Tabelle erfolgen. Die Tastenkombination für diese Funktion ist Ctrl-L oder Ctrl-T. Mehrere Tabellen können auf demselben Arbeitsblatt vorhanden sein.

Sobald Ihre Daten als Tabelle markiert sind, wird die Tabelle dynamisch erweitert, wenn neue Daten hinzugefügt werden.

Jede Tabelle erhält automatisch einen Namen, beginnend mit Tabelle1. Der Name kann über die Tabelle Tools - Design Registerkarte geändert werden.

In Formeln kann jede Tabelle durch ihren Namen referenziert werden.

=SUM(Table1) 

Jede Spaltenüberschrift in der Tabelle kann auch in Formeln verwendet werden.

=SUM(Table1[Column1]) 

In Excel-Versionen vor 2007, 'Dynamische benannte Bereiche' verwendet werden können.

Diese können über das Menü Einfügen - Name - Definieren erstellt werden.

Geben Sie den ‚Dynamische benannten Bereich‘ einen Namen (zB Tabelle 1) und eine Formel ähnlich die folgenden vorausgesetzt, Ihre matirx eingeben beginnt in Zelle A1:

=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!A:A)-1,3) 

Wenn Ihre Matrix in Zelle D10 beginnt die Formel würde so aussehen

Diese Formel schließt jede Spaltenüberschrift in der Matrix aus. Es wählt Daten auf einer "n x 3" -Basis aus.

In Formeln kann jeder 'Dynamische benannte Bereich' durch seinen Namen referenziert werden.

=SUM(Table1) 

Sie müssen das Layout Ihres Arbeitsblatt als der dynamische benannten Bereich ausarbeitet es ist Anzahl der Zeilen durch Zählen alle Einzelteile überprüfen, die in der ersten Spalte der Daten angezeigt.
Wenn Sie Zellen über und/oder unter Ihrer Matrix haben, werden diese in die Berechnung einbezogen und der 'Dynamische benannte Bereich' enthält Zeilen unterhalb Ihrer Datenmatrix.

Um zu sehen, welche Zellen in einem ‚dynamischen benannten Bereich‘ oder Tischpresse F5 und Typ enthalten sind, in seinem Namen und klicken Sie auf OK .

0

Statt rewinds A1: A300 zu berechnen, können Sie gegen A: A, die berechnen ist die gesamte Spalte.

Sie müssen möglicherweise bedenken, dass Sie andere Sachen in dieser Spalte nicht wollen, wenn Sie Ihr Layout entwerfen.

+0

Ich dachte darüber nach, und ich denke nicht, dass das funktionieren wird, da jedes Blatt ein System von Gleichungen und Ausgaben darstellt. Das A: A fügt meiner Arbeitsmappe etwa 50 Blätter hinzu – dassouki

+0

Sie müssen nicht viele Arbeitsmappen erstellen. Wenn Sie eine Reihe von Daten haben, dann müssen Sie einige andere Daten darunter platzieren. Sie müssen sie nur horizontaler machen, indem Sie die nicht verwandten Daten auf der rechten Seite und nicht darunter platzieren. Am Ende des Tages ist Excel eine Kalkulationstabelle und es geht um Spalten und Zeilen. – Fenton

2

Erstellen Sie definierte Namen (Einfügen - Name - Definieren), die OFFSET und COUNTA verwenden, um dynamische Bereiche zu erstellen. Statt

= SUMME (A1: A300)

Verwendung

= SUMME (MyRange)

wo MyRange ist

= OFFSET ($ A $ 1,0,0, COUNTA ($ A: $ A), 1)

See also

Verwandte Themen