1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Veränderungsrate berechnen

Discussion in 'Office-Programme' started by yorck, Nov 18, 2009.

Thread Status:
Not open for further replies.
  1. yorck

    yorck Byte

    Hallo!

    Ich habe ein Problem mit folgendem Listing, vielleicht weiß jemand Rat:

    Sub Veraenderungsrate()
    Sheets("Tabelle1").Activate
    Range("A21").Select

    Do Until ActiveCell.Value = ""
    ActiveCell.Offset(0, 2).Value = _
    ActiveCell.FormulaR1C1 = "=((RC-R[19])/R[-19])"
    ActiveCell.Offset(1, 0).Select
    Loop

    End Sub

    In Spalte A stehen sich täglich verändernde Preise. Berechnet wird jeweils die Veränderungsrate von 2 Preisen, die 20 Tage auseinanderliegen.Die Formel lautet:

    (Preis heute - Preis vor 20 Tagen)/Preis vor 20 Tagen

    Das Ergebnis soll in Spalte C ausgegeben werden (Spalte B ist bereits besetzt). Die Schleife soll so lange laufen, bis in Spalte A abwärts keine Zahlen mehr stehen.

    Die Schleife wird abgearbeitet aber in den (Ergebnis-) Zellen der Spalte C steht überall "FEHLER".

    Weiß jemand woran das liegt?

    Gruß
    Yorck
     
  2. Urs2

    Urs2 Megabyte

    ...um Prozente zu erhalten, müsste das aber noch mit 100 multipliziert werden...

    Mit R1C1 geht das so nicht, es muss ein String mit R19C1 übergeben werden. Excel übersetzt das in C1R19 und dann in A19...
    Diese "Zeilennummer" 19 ist aber nicht fest, sie ändert mit der ActiveCell, wobei ich mal annehme, es gehe um 19 Zeilen "vorher".

    Man müsste als zuerst eine Variable mit dem kompletten String berechnen... und diesen dann als Formel an die Zelle senden...

    Was für eine Arbeit... aber wofür brauchst Du im Blatt eine Formel ?
    Das Makro kann das doch berechnen, und das Resultat dann in die Zelle schreiben... so >

    Code:
    Sub Veraenderungsrate()
    
    Sheets("Tabelle1").Activate
    Range("A21").Select
    
    Do Until ActiveCell.Value = ""
        With ActiveCell
            .Offset(0, 2).Value = (.Value - [COLOR="Red"].Offset(-19, 0)[/COLOR].Value) / .Offset([COLOR="red"]-19, 0[/COLOR]).Value * 100
            .Offset(1, 0).Select
        End With
    Loop
    
    End Sub
    Die roten Offset holen sich den alten Vergleichswert, hier mit -19 also in Spalte A, 19 Zeilen oberhalb der ActiveCell in Spalte A.


    Gruss Urs
     
  3. Hascheff

    Hascheff Moderator

    @TO: Vergiss es!

    @ Urs: :haare:
    Klar, du denkst jetzt, als Mathelehrer weiß Hascheff das natürlich besser. Aber das ist es nicht. Ich bin (wie auch du wahrscheinlich noch) ein Opfer der antiquierten Vorstellung gewesen, dass Prozentrechnung was Schweres sein muss. Entsprechend wurde es auch von Generationen von Lehrern unterrichtet und die Schüler haben es auch geglaubt.
    W:G=p:100
    In der 6./7. Klasse sind Schüler noch nicht in der Lage, Verhältnisgleichungen wirklich zu begreifen. Folglich wurde die ganze Prozentrechnung nur gepaukt und war logischerweise nicht anwendungsbereit.

    Mir fiel es wie Schuppen aus den Haaren, als ich zum ersten Mal in Excel mit Prozenten zu tun hatte. (Damals war Excel noch pädagogisch wertvoller, wenn man eine Zahl als Prozent formatierte, war in der Eingabezeile trotzdem noch die unformatierte Zahl zu sehen.)
    Prozent ist einfach eine Zahlendarstellung, die ganze Prozentrechnung kann man vergessen. Weg mit der 100, die steckt im %-Symbol!
    W=G*p merkt sich viel leichter, beim Umstellen kann man kaum Fehler machen.

    Gruß
    Hascheff
     
  4. Urs2

    Urs2 Megabyte

    @Hascheff..... ja, man wird alt....

    Eben habe ich zum ersten Mal im Excelblatt das %-Format ausprobiert... es funktioniert tatsächlich !
    Beim Taschenrechner frage ich mich allerdings seit Jahrzehnten, für was ich denn die %-Taste brauchen könnte.
    Ich bleibe trotzdem bei meiner antiquierten Rechenart, werde dafür aber nicht mehr belehrend tätig sein.

    So oder so ist die Prozentrechnung natürlich einfach... solange man auch sicher den richtigen Grundwert erwischt. Was uns die Journalisten manchmal vorrechnen ist eher haarsträubend...

    Gruss Urs
     
  5. Hascheff

    Hascheff Moderator

    Hallo Urs,
    leider sind wir OT, deshalb versuche ich mich kurz zu fassen.

    Bei den meisten Taschenrechnern dividiert die %-Taste einfach durch 100. Aber nicht, dass "<p> %" der Tastenfolge "<p> / 100" entspricht, sondern "<p> [EXP] 2 [+/-]", was bekanntlich "( <p> / 100 )" ist.
    Bei manchen Rechnern ist am Ende der Tastenfolge noch = anzuhängen.

    Ich habe erst einen Taschenrechner kennengelernt, bei dem die %-Taste leistungsfähiger war: SR1, der in der DDR an die Schüler preiswert ausgeliefert wurde. Da konnte man nicht nur z.B. Zinsen berechnen: "<Guthaben> * <p> % =", sondern gleich das neue Guthaben: "<Guthaben> + <p> % =".

    Gruß
    Hascheff
     
  6. Urs2

    Urs2 Megabyte

    Hallo Hascheff,

    OT >>> falls sich der TO hier nochmals blicken lassen sollte, wird er schnell merken, dass er nur bis #3 lesen muss...

    Taschenrechner >>> auch das habe ich jetzt probiert... es funktioniert tatsächlich !
    Ob ich das nächsten Monat auch noch wissen werde, ist eine andere Frage...

    Mein Problem damit ist nur, dass ich fürs Kopfrechnen im Gehirn weder eine %-Taste, noch ein ein eingebautes %-Format habe...
    ...bei jüngeren Leuten ist das wohl standardmässig schon drin.

    Wenn man noch mit Logarithmentabelle oder Rechenschieber, als damals einzig existierende Hilfen, lernen musste, dürfte im Gehirn sicher einiges etwas umständlicher verdrahtet worden sein.

    Gruss Urs
     
  7. Hascheff

    Hascheff Moderator

    Naja, von den jüngeren Leuten wolllen wir mal jetzt lieber nicht reden.

    > Mein Problem damit ist nur, dass ich fürs Kopfrechnen im Gehirn weder eine %-Taste, noch ein ein eingebautes %-Format habe...

    So schwer ist das doch nicht. Einfach das Komma um 2 Stellen verschieben.

    Nu is aber genug. Ich muss mal an der Matratze horchen. Gute Nacht!:schlafen:
     
Thread Status:
Not open for further replies.

Share This Page