Funktionen für Formeln
Zuletzt aktualisiert am 13.03.2025
Überblick
In den folgenden Tabellen finden Sie Funktionen, die Sie in Formeln in xP&A verwenden können.
Dieser Artikel enthält folgende Abschnitte:
Verfügbare Formeln
Die folgenden Funktionen sind in Lucanet xP&A für Formeln verfügbar:
Mathematisch
Funktion
Beschreibung
abs
Der Betrag einer Zahl
avg
Das arithmetische Mittel (Durchschnitt) der Eingaben. Kann auch als avgif verwendet werden.
Beispiel: avg(1, 2, 3) = 2; avg(if Var[all] % 2 = 0 then Var[all] else none) = Durchschnittswert aller geraden Werte
first_nonzero_value
Der erste Wert, der nicht Null oder leer ist
Beispiel: first_nonzero_value(0,none,4,6) = 4
log
Natürlicher Logarithmus (Basis e)
Beispiel: log(e^2) = 2
log10
Zehnerlogarithmus (Basis 10)
Beispiel: log10(100) = 2
max
Der höchste der Eingabewerte
Beispiel: max(1, 2, 3) = 3; max([1, 2, 3]) = 3
min
Der niedrigste der Eingabewerte
Beispiel: min(1, 2, 3) = 1; min([1, 2, 3]) = 1
mod
Der Rest einer Division. Statt mod kann auch "%" geschrieben werden.
Beispiel: mod(5, 2) = 1; 5 % 2 = 1; Wiederholung alle 4 Monate: if timeStep % 4 = 0 then 1 else 0
reverse
Kehrt die Reihenfolge eines Arrays um.
Beispiel: reverse([1, 2]) = [2, 1]
round
Rundet die Zahl auf die nächste ganze Zahl. Optional können Sie die Anzahl der Nachkommastellen als zweites Argument angeben.
Beispiel: round(2,3) = 2, round(2,5) = 3, round(2,26, 1) = 2,3
rounddown
Rundet ab, Richtung 0. Optional können Sie die Anzahl der Nachkommastellen als zweites Argument angeben.
Beispiel: rounddown(2,8) = 2, rounddown(-2,8) = -2, rounddown(2,88, 1) = 2,8
roundup
Rundet auf, weg von 0. Optional können Sie die Anzahl der Nachkommastellen als zweites Argument angeben.
Beispiel: roundup(2,2) = 3, roundup(-2,2) = -3, roundup(2,22, 1) = 2,3
signchange
Zeitschritt, an dem der erste Vorzeichenwechsel stattfindet
Beispiel: signchange(Var[all])
spread
Verteilt einen Wert über einen Zeitraum.
Beispiel: spread(Neukunden[0:t], Zahlungen[0:t])
sqrt
Quadratwurzel eines Werts
Beispiel: sqrt(4) = 2
sum
Die Summe der Eingaben. Kann auch als sumif oder countif verwendet werden.
Beispiel: sum(1, 2, 3) = 6; sum(if Var[all] % 2 = 0 then Var[all] else 0) = Summe aller geraden Werte
sumproduct
Multipliziert zwei oder mehr Arrays miteinander und gibt die Summe der Produkte zurück.
Beispiel: sumproduct(Var1[all], Var2[all])
exp
Exponentialfunktion
Beispiel: exp(2) = e^2
Zeit
Funktion
Beschreibung
date
Die Nummer des Zeitschritts eines Datums. Zeitschritte beginnen bei 0.
Beispiel: date(2021,12,24) = 11 in einem monatsbasierten Modell, das im Januar 2021 beginnt
month_from_date
Extrahiert den Monat eines Datums oder eines Zeitschritts.
Beispiel: month_from_date( date(2021,12,24) ) = 12
year_from_date
Extrahiert das Jahr eines Datums oder eines Zeitschritts.
Beispiel: year_from_date( date(2021,12,24) ) = 2021
Finanziell
Funktion
Beschreibung
cumipmt
Kumulativer Zinsaufwand
Beispiel: cumipmt(Zinssatz, Zeiträume, Wert, Start, Ende, Typ)
finance.AM
Abschreibung
Beispiel: finance.AM(Kapital, Zinssatz, Zeitraum, JahrOderMonat, ZahlungZuBeginn)
finance.CAGR
Durchschnittliche jährliche Wachstumsrate
Beispiel: finance.CAGR(Anfangswert, Endwert, Anzahl der Zeiträume)
finance.CI
Zinseszins
Beispiel: finance.CI(Zinssatz, Aufzinsung pro Zeitraum, Kapital, Anzahl der Zeiträume)
finance.DF
Rabattfaktor (gibt ein Array zurück; muss Array indizieren, um Werte zu erhalten – um alle Werte des Arrays zu sehen, siehe Beispiel oben).
Beispiel: finance.DF(Prozentsatz, Anzahl der Zeiträume)[index]
finance.FV
Zukunftswert
Beispiel: finance.FV(rate, nper, pmt, pv, type)
finance.IAR
Inflationsbereinigte Rendite
Beispiel: finance.IAR(Investitionsrendite, Inflationsrate)
finance.irr
Interne Rendite
Beispiel: finance.IRR(Kapitalflüsse[all], [guess])
finance.LR
Finanzhebel
Beispiel: finance.LR(Gesamtverbindlichkeiten, Gesamtschulden, Gesamteinnahmen)
finance.NPV
Nettobarwert
Beispiel: finance.NPV(Prozentsatz, Anfangsinvestition, Kapitalflüsse[all])
finance.PI
Rentabilitätsindex
Beispiel: finance.PI(Prozentsatz, Anfangsinvestition, Kapitalflüsse[all])
finance.PMT
Zahlung für einen Kredit bei konstanten Zahlungen mit festem Zinssatz
Beispiel: finance.PMT(fraktionierter Zinssatz, Anzahl der Zahlungen, Kapital)
finance.PP
Amortisationszeitraum
Beispiel: finance.PP(Anzahl der Zeiträume, Kapitalflüsse[all])
finance.PV
Barwert
Beispiel: finance.PV(rate, nper, pmt, [fv], [type])
finance.R72
72er-Regel
Beispiel: finance.R72(Zinssatz)
finance.roi
Rendite
Beispiel: finance.ROI(Kapitalflüsse[all])
finance.WACC
Gewichteter durchschnittlicher Kapitalkostensatz
Beispiel: finance.WACC(Marktwert des Eigenkapitals, Marktwert des Fremdkapitals, Eigenkapitalkosten, Fremdkapitalkosten, Steuersatz)
finance.xirr
Interner Zinsfuß für Kapitalflussrechnungen
Beispiel: finance.xirr([-10,11], [0,12], 12) = 10%
fv
Zukunftswert
Beispiel: v(rate, nper, pmt, pv, [type])
fvifa
Zukunftswert-Zinsfaktor einer Annuität
Beispiel: fvifa(rate, nper)
ipmt
Zinsanteil einer bestimmten Kreditrate
Beispiel: ipmt(rate, per, nper, pv, [fv], [type])
pmt
Regelmäßige Zahlung für einen Kredit
Beispiel: pmt(rate, nper, pv, [fv], [type])
ppmt
Tilgungsanteil einer bestimmten Kreditrate
Beispiel: ppmt(rate, per, nper, pv, [fv], [type])
pv
Barwert
Beispiel: pv(rate, nper, pmt, fv, [type])
pvif
Barwert-Zinsfaktor
Beispiel: pvif(rate, nper)
rate
Zinssatz pro Zeitraum einer Annuität
Beispiel: rate(nper, pmt, pv, [fv], [type], [guess])
Wahrscheinlichkeit
Funktion
Beschreibung
beta
Beta-Verteilung
Beispiel: beta(alpha, beta)
binominal
Binomialverteilung
Beispiel: binomial(n, p)
cauchy
Cauchy-Verteilung
Beispiel: cauchy(local, scale)
chisq
Chi-Quadrat-Verteilung
Beispiel: chisq(k)
exponential
Exponentialverteilung
Beispiel: exponential(rate)
gamma
Gammaverteilung
Beispiel: gamma(shape, scale)
invgamma
Inverse Gammaverteilung
Beispiel: invgamma(shape, scale)
lognormal
Log-Normal-Verteilung
Beispiel: lognormal(μ, σ^2)
lognormal_from
Log-Normal-Verteilung
Beispiel: finance.LR(Gesamtverbindlichkeiten, Gesamtschulden, Gesamteinnahmen)
normal
Nettobarwert
Beispiel: finance.NPV(Prozentsatz, Anfangsinvestition, Kapitalflüsse[all])
normal_from
Log-Normal-Verteilung
Beispiel: lognormal_from_interval (from, to, confidence_percent)
pareto
Paretoverteilung
Beispiel: pareto(min, alpha)
poisson
Poisson-Verteilung
Beispiel: poisson(λ)
stdev
Standardabweichung eines Arrays
Beispiel: stdev(Var[all])
triangle
Dreiecksverteilung
Beispiel: triangle(from, to, confidence_percent)
uniform
Gleichmäßige Verteilung
Beispiel: uniform(from, to)
variance
Abweichung eines Arrays
Beispiel: variance(Var[all])
Andere
Funktion
Beschreibung
error
Fehler bei der Erklärung eines ungültigen Zustands
Beispiel: error()
flat_cohort_forecast
Prognostiziert Kohortendaten ohne die Kohortendimension.
Beispiel: flat_cohort_forecast(oldCohorts[all], newCohorts[all], retentionRates[all], lastDataDate, t, [additionalChurn])
gaussian_ramp
Rechnet einen Wert über einen Zeitraum in Form einer Gaußschen Glockenkurve hoch.
Beispiel: gaussian_ramp(timestep,date(2022,10), 2, 100)
if_error
Wenn das erste Argument einen Fehler „ungültige Zahl“ ergibt, wird das zweite Argument zurückgegeben. Andernfalls wird das erste Argument zurückgegeben.
Beispiel: if_error(Y/X, Z) – nützlich, wenn der Teiler X gleich 0 ist und das erste Argument daher ein Teilen durch 0 (Fehler „ungültige Zahl“) ergeben würde
is_data
Ergibt 1, wenn das Argument von einer Datenquelle abgeleitet ist, sonst 0.
Beispiel: is_data(Variable[all])
is_locked
Ergibt 1, wenn das Argument ein Element einer gesperrten Dimension ist, sonst 0.
Beispiel: is_locked(dimensionitem)
last_data_timestep
Gibt den letzten aus einer Datenquelle abgeleiteten Zeitschritt zurück.
Beispiel: last_data_timestep(Var[all])
logistic_ramp
Rechnet einen Wert über einen Zeitraum in einer S-Form (logistische Funktion) hoch.
Beispiel: logistic_ramp(timestep, date(2022,1), date(2022,10), 1.8, 100, 200)
quadratic_ramp
Rechnet einen Wert quadratisch über einen Zeitraum hoch.
Beispiel: quadratic_ramp(timestep,date(2022,1), date(2022,10) [startValue], [endValue])
ramp
Rechnet einen Wert linear über einen Zeitraum hoch.
Beispiel: ramp(timestep, date(2022,1), date(2022,10), 100, 200)
ramp_normalized
Hochrechnung mit der kumulativen Summe 1. Nützlich für die Verteilung eines festen Werts über einen bestimmten Zeitraum.
Beispiel: ramp_normalized(timestep, date(2022,1), date(2022,10)