Wert nach einem gewissen Jahr in die nächste Spalte schreiben und dann Formel
#1
Hallo,

bin nicht so versiert mit Excel und nun bin ich im Zuge meiner Masterarbeit auf ein Problem gestoßen, das ich auch nach Eigenrecherche nicht lösen kann:

Ich habe ein Excel Sheet mit ca 209000 Zeilen. Es handelt sich um Daten von einzelnen Bäumen. Jeder Baum wurde über eine gewisse anzahl von Jahren (bis zu 80) beobachtet. Ich habe in einer Spalte die Jahreszahl, in einer die Baumnummer und in einer Weiteren den Wachstumswert des Stammes (Ringbreite). Nun will ich in der nächsten Spalte den Radius berechnen und hier habe ich mein Problem. Ich möchte von Baum nr 1, wo die Daten bei 1940 anfangen, den ersten Wert der Ringbreite in die nächste Spalte kopieren um ihn als Ausgangswert für die Berechnung des Radius in den folgenden Zellen der Spalte zu nehmen. Das ganze soll bis 2017 gehen und dann (wo die Werte quasi wieder bei zB 1940 anfangen) wieder von vorne losgehen, sprich dann kommt Baum Nr 2, wo wieder der erste wert in die nächste Spalte übertragen werden soll und dann wieder die Formel. An der Baumnummer kann man sich leider nicht orientieren, weil es für jeden Baum aus zwei "Himmelsrichtungen" (Azimuth) Messungen gab. Dh es gibt Daten von zB 1940 bis 2017 für Baum Nummer 1 bei Azimuth "0" und danach folgen die Daten von 1940 bis 2017 bei Azimuth "90". Gibt es da so etwas wie "Wenn in der einen Spalte 2017 kommt, dann kopiere den nächsten Wert (zB von 1940) in die Spalte "Radius" und berechne die darauffolgenden Zellen bis 2017 mit folgender Formel?

   

Manuell würde ich da alt werden bei 209000 Zeilen. Ist das überhaupt möglich in Excel oder brauche ich da ein anderes Programm dafür? Huh  Ich bin für jede Hilfe dankbar!  :100:



Viele Grüße,

Luke
Top
#2
Hallo Luke,

ich habe es so verstanden (für Zelle H84):

=[@rw]+H83*([@year]>F83)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#3
Hallo,

ich geh mal davon aus das deine Tabelle nach 1. Baum 2. year sortiert ist  wenn nicht

Rechte Taste -> Sortieren -> benutzerdefiniert 1. Ebene Baum 2.Ebene Year

= wenn(year = 1940; start Zelle , ansonsten rechne Radius Ringbreite/2 )
Top
#4
(10.05.2019, 13:42)Ego schrieb: Hallo Luke,

ich habe es so verstanden (für Zelle H84):

=[@rw]+H83*([@year]>F83)

Hallo Helmut!

Das hat super funktioniert! Perfekt! Danke! Nur zum Verständnis der Formel: wenn das Jahr NICHT größer als 2017 ist nimmt Excel den Wert als eine Null und damit bekomme ich dann nur die Ringweite (rw + 0) in die Zelle? 

Das ist ziemlich smart! Bin beeindruckt :)

Schönen Dank,

Luke
Top
#5
Hallo Luke,


zu
Zitat:... NICHT größer als 2017 ...

Nein.

In der Formel steht kein 2017 und keine Fixierung in der Spalte F.

"... NICHT grösser als das Jahr der Vorzeile..." muss es heißen. Dabei geht die Formel davon aus dass:

1. Die Daten einer Gruppe (Nr und Azimut) immer direkt hintereinander stehen und nach Jahren aufsteigend sortiert sind und
2. Das erste Jahr einer neuen Gruppe im kleiner oder gleich dem letzten Jahr der letzten Gruppe  ist.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Luke_the_duk3
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste