Libre Office Calc, i++

spamarama

Commodore
Registriert
Apr. 2010
Beiträge
4.123
Bevor ich anfange: Ich habe 0 Ahnung von Excel/Calc und finde es ist eine ganz grausige Art zu "programmieren". So das musste gesagt werden, nun zum Problem. :D

Ich hab ne einfache If abfrage, sieht pseudocodemäßig so aus:

Code:
i = 1;
Feld x;
if ( a() mod 7 == 0) then{
x = i;
i = (i+1) mod 6;
}else{
x = a();
}
Mein Problem ist nun wie ich in Calc dieses i hinbekomme.
Hab für i einfach ne Zelle genommen und wollte dann einfach hochzählen. im Feld x steht dann praktisch die Funktion wo getestet wird ob das Ergebnis von a mod 7 == 0 ist.
Problem ist aber das Calc in der IF Abfrage anscheinend nur die 3 festgelegten Statements aufnehmen kann, bzw. ich nicht weiß wie ich da noch die Zelle die i enthält erhöhen kann.
In Calc sieht das so aus:
=WENN((REST(ZEILE(A2)-2;$J$3)+1) = $J$3; i, i++; (REST(ZEILE(A2)-2;$J$3)+1))
Beim roten Teil weiß ich wie gesagt nicht wie ichs machen soll. Grün kann ignoriert werden.
 
Mal ein Up! :)
Kennt denn hier niemand ne Möglichkeit nen Counter zu implementieren, der um 1 erhöht wird, wenn man ihn aufruft?
 
Aufrufen kann ich allenfalls ein Makro. Mir Formeln ist da naturgemäß kein Blumentopf zu gewinnen.

Den Code kann ich zwar lesen, aber mir entzieht sich ein wenig die Logik was da das MOD in «i = (i+1) mod 6;» Nützliches bewirken soll.

Wenn wir das DIMen der Variablen weglassen sähe der Code in BASIC so aus:
Code:
i = 1
if (a mod 7) = 0 then 'REM Klammern ist immer besser.
 x = i
 i = (i+1) mod 6
else
 x = a
end if
Was stellt das Element a() dar? Ein an die Berechnung zu übergebendes Argument?

Außerdem müsste man, wenn man diesen Code per Hand ›dann und wann‹ aufruft die Inhalte der relevanten Variablen im Blatt zwischenspeichern.

CN8
 
Den Code kann ich zwar lesen, aber mir entzieht sich ein wenig die Logik was da das MOD in «i = (i+1) mod 6;» Nützliches bewirken soll.
Naja, i läuft dann nur von 0-5. Ist halt alles aus der "naiven" Idee entstanden dass solche einfachen Abfragen schon iwie mit den Zellen und den gegebenen Formeln lösbar seien. Bis ich festgestellt hab das kaum was geht, bzw. nicht so wie ichs vom programmieren gewohnt bin. Und dann hab ich angefangen rumzufrickeln u.a. weil ich eigentlich keine Makros einbauen wollte. Wirklich ideal ist was anderes, aber normalerweise muss ich mich ja auch nicht mit Excel beschäftigen. :D

Was stellt das Element a() dar?
Nen Methodenaufruf, bzw hier halt irgendwelche Formeln. In dem Fall hier also sowas wie REST() oder WENN().
 
Zurück
Oben