Funktionen für Formeln
Zuletzt aktualisiert am 30.10.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])
Für ein ausführlicheres Beispiel siehe Beispiele für Funktionen.
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])
Für ein ausführlicheres Beispiel siehe Beispiele für Funktionen.
finance.LR
Finanzhebel
Beispiel: finance.LR(Gesamtverbindlichkeiten, Gesamtschulden, Gesamteinnahmen)
finance.NPV
Nettobarwert
Beispiel: finance.NPV(Prozentsatz, Anfangsinvestition, Kapitalflüsse[all])
Für ein ausführlicheres Beispiel siehe Beispiele für Funktionen.
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%
Für ein ausführlicheres Beispiel siehe Beispiele für Funktionen.
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])
forecats
Prognostiziert Ihre zukünftigen Eingaben basierend auf historischen Daten mithilfe von KI.
Beispiel: forecast(timestep, past_values, growth_rate), wobei timestep t ist und past_values auf die Variable mit Werten referenziert.
Hinweise:
- Stellen Sie sicher, dass Sie einen Zeitraum wählen, der mindestens 13 Eingaben enthält, um die genauesten Ergebnisse zu erhalten, z. B. 13 Monate an Daten.
- growth_rate ist optional.
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)
Beispiele für Funktionen
Anwendungsfall
Beschreibung
Werte verteilen
Spread ist eine leistungsstarke und flexible xP&A-Funktion. Damit können Sie einen Wert oder eine Gruppe von Werten über einen Zeitraum verteilen. Die Funktion ist ähnlich wie die Funktion sumproduct in Excel, jedoch mit einer intuitiveren Benutzeroberfläche.
Spread hat zwei Argumente:
- x – der Wert oder die Menge der Werte
- y – der Betrag, mit dem Sie x verteilen
Beispiel:
Wenn alle neuen Kunden im ersten Monat eine Anmeldegebühr von 100 $ zahlen müssen und ab dem zweiten Monat je Monat 10 $ für ihr Abonnement zahlen, können Sie Ihren monatlichen Umsatz mit spread berechnen.
In diesem Fall wäre x die Anzahl der neuen Kunden pro Monat, und y wäre die Zahlungsstruktur, mit der diese Werte verteilt werden.
In xP&A würde dies wie folgt aussehen:
Andere häufige Anwendungsfälle von spread sind:
- Vertriebszyklen (Sales Cycles (Dabei ist x die Anzahl der generierten Leads und y der Prozentsatz, der sich im Zeitverlauf in Neukunden umwandelt.)
- Retention-Kurven (wobei ‘x’ die neuen Benutzer und ‘y’ der Prozentsatz ist, der im Zeitverlauf bestehen bleibt).
Interne Rendite (IRR)
xP&A verfügt über viele Finanzfunktionen, die Sie vielleicht von Excel oder Google Sheets kennen – und sie funktionieren sehr ähnlich.
Beispiel:
Wenn Sie eine Variable Cash Flowshaben, bei der der erste Wert die anfängliche Investition und die folgenden Werte die Rückflüsse sind, können Sie den IRR wie folgt berechnen:
Beispiel für die Funktion 'finance.irr'
Interne Rendite für Kapitalflussrechnungen (XIRR):
XIRR wird verwendet, wenn die Cashflows nicht periodisch sind. Deshalb benötigt XIRR drei Argumente:
- Die Cashflows
- Die Zeitschritte, zu denen sie auftreten
- Die Granularität (Anzahl der Zeitschritte in einem Jahr)
Beispiel:
Wenn Sie im Erster Monat 10 $ investieren und nach 10 Monaten eine Rendite von 6 $ sowie nach 12 Monate weitere 6 $ erhalten, würde Ihre Formel wie folgt aussehen:
Nettobarwert (NPV)
Der Nettobarwert (Net Present Value, NPV) vergleicht den in der Zukunft erhaltenen Geldbetrag mit einem heute erhaltenen Geldbetrag, wobei Zeit und Zinsen berücksichtigt werden. Die Argumente der Funktion sind:
- Zinssatz in Prozent
- Cashflows
Beispiel:
Bei einem Diskontsatz von 10 %, einer Anfangsinvestition von 500 und Cashflows von 200, 300 und 200 können Sie die Funktion wie folgt verwenden: finance.npv(10, -500, 200, 300, 200).
Normalerweise sind die Cashflows in einer Zeitreihenvariablen enthalten, in diesem Fall können Sie die Variable in der Funktion verwenden: