Dividendrendement berekenen in Google Sheets: twee opties
De functie GOOGLEFINANCE ondersteunt geen dividend yield. Gebruik deze twee formules voor een nauwkeurige trailing yield of een forward dividendrendement in uw spreadsheet.
Dividendrendement berekenen in Google Sheets
Om het dividendrendement in Google Sheets te berekenen, moet u het getal zelf samenstellen. GOOGLEFINANCE geeft de koers, eps, pe, market cap en een lange lijst met andere koersvelden terug, maar het dividendrendement hoort daar niet bij: =GOOGLEFINANCE("AAPL","yield") geeft #N/A als resultaat, en geen enkele andere schrijfwijze van het woord werkt. Twee oplossingen voldoen. Bereken een trailing yield op basis van een dividendkolom die u zelf in het werkblad bijhoudt, of typ het aangekondigde forward rate in een cel en deel dit door de koers.
Waarom GOOGLEFINANCE geen attribuut voor dividend yield heeft
De attributen van de functie vallen uiteen in twee categorieën. Er zijn live koersvelden, die worden opgehaald met twee argumenten: price, volume, pe, eps, marketcap, high52, changepct en ongeveer twaalf andere. Daarnaast zijn er historische koersvelden, die worden opgevraagd met een datum of een datumbereik: open, high, low, close, volume. Dividendgegevens behoren tot geen van beide categorieën. Er is geen attribuut dat een betaling of een uitkeringshistorie teruggeeft, waardoor de teller van de yield buiten de functie moet worden gezocht.
Dividend yield is het jaarlijkse dividend per aandeel gedeeld door de koers per aandeel, uitgedrukt als percentage. Het koersgedeelte is één cel. Het dividendgedeelte vereist handwerk. Als de ratio zelf nieuw voor u is, behandelt wat dividend yield feitelijk meet dit onderwerp vóórdat de spreadsheet-mechanica aan bod komt, en hoe u dividend yield berekent doorloopt de rekenmethode.
Hier is het basismateriaal: elke betaling die één dividendbetaler over ongeveer de afgelopen drie jaar heeft gedaan. Elke rij is een ex-dividenddatum, de datum waarop en waarna een koper van het aandeel de aanstaande betaling niet meer ontvangt, naast het contante bedrag dat per aandeel is uitgekeerd.
De exacte SQL achter elk getal
SELECT
toString(ex_dividend_date) AS ex_date,
formatDateTime(ex_dividend_date, '%b %e, %Y') AS ex_date_label,
round(toFloat64(payment), 4) AS cash_amount,
round(toFloat64(payment) * 4, 4) AS annualized_run_rate
FROM
(
SELECT
ex_dividend_date,
max(cash_amount) AS payment
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND ex_dividend_date >= today() - 1120
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
ORDER BY ex_dividend_dateCoca-Cola betaalde $0.46 per aandeel op Sep 14, 2023 en $0.53 op Jun 15, 2026, in totaal 12 betalingen over de betreffende periode. De tweede lijn in de grafiek is elke betaling vermenigvuldigd met vier: het jaarlijkse percentage dat zou gelden als de betaling van dat kwartaal het hele jaar door zou worden herhaald. Dit cijfer stijgt één keer per jaar en blijft daartussen vlak. Die stapsgewijze verandering is waar de meeste spreadsheet-yields de fout in gaan. Het volledige overzicht staat in de dividendhistorie van Coca-Cola.
Twee manieren om dividend yield te berekenen in Google Sheets
De eerste methode is een trailing yield op basis van uw eigen kolom. Plaats de ex-dividenddata in kolom A en het bedrag per aandeel in kolom B, één rij per betaling, en gebruik vervolgens:
- Totaal over de afgelopen twaalf maanden:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - Actuele koers:
=GOOGLEFINANCE("KO","price") - Trailing yield, waarbij de cel is opgemaakt als percentage:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - Aantal betalingen in dezelfde periode, ter controle:
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
EDATE(TODAY(),-12) is exact dezelfde kalenderdag twaalf maanden terug, waardoor de periode automatisch opschuift. Maak de yield-cel op als percentage in plaats van in de formule met honderd te vermenigvuldigen. Een sheet die beide doet, geeft tweehonderdnegentig procent weer waar twee komma negen procent wordt bedoeld.
De tweede methode is een forward yield op basis van het aangekondigde tarief. Plaats het laatst aangekondigde tarief per aandeel in D2 en het aantal betalingen per jaar in E2:
- Forward yield:
=D2*E2/GOOGLEFINANCE("KO","price")
Niets automatiseert D2. Een bestuur kondigt een tarief aan, u leest dit af van de aankondiging en voert het in. Dat is de eerlijke versie van een forward yield, en de keuze tussen de twee tellers is het volledige onderwerp van trailing versus forward dividend yield.
Twee kleine opmerkingen over de functie. Quotes hebben een vertraging van maximaal twintig minuten en de vertraging van een specifieke cel is afleesbaar met =GOOGLEFINANCE("KO","datadelay"). Een historische opvraging geeft een twee-bij-twee matrix terug in plaats van een getal, dus sluit deze in: =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) geeft enkel de slotkoers.
De annualiseringsstap en de fout die deze verbergt
De meest voorkomende foutieve formule in een dividendoverzicht vermenigvuldigt de laatste betaling met vier. Dit werkt totdat het bedrijf het dividend verhoogt. Na een verhoging zijn drie van de vier betalingen in het afgelopen jaar gedaan tegen het oude tarief, en vier keer het nieuwe tarief overschat wat een aandeelhouder daadwerkelijk heeft ontvangen.
Het onderstaande overzicht brengt dat verschil in kaart voor acht grote betalers: wat elk aandeel per aandeel uitkeerde over de afgelopen twaalf maanden, naast vier keer de meest recente betaling.
De exacte SQL achter elk getal
SELECT
ticker,
round(toFloat64(sum(cash_amount)), 4) AS paid_last_12m,
round(toFloat64(argMax(cash_amount, ex_dividend_date)) * 4, 4) AS latest_x4,
round((toFloat64(argMax(cash_amount, ex_dividend_date)) * 4
/ toFloat64(sum(cash_amount)) - 1) * 100, 2) AS gap_pct,
count() AS payment_count
FROM
(
SELECT
ticker,
ex_dividend_date,
max(cash_amount) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO', 'JNJ', 'PG', 'AAPL', 'MSFT', 'CVX', 'ABBV', 'IBM')
AND ex_dividend_date > today() - 365
AND ex_dividend_date <= today()
GROUP BY ticker, ex_dividend_date
)
GROUP BY ticker
ORDER BY gap_pct DESCGesorteerd op het verschil staat JNJ bovenaan. Het deed 4 betalingen van in totaal $5.24 per aandeel over de periode, terwijl vier keer de laatste betaling uitkomt op $5.36, 2.29% hoger. Bij een aandeel met een yield van bijna drie procent zorgt een fout van die omvang voor een afwijking in het geprinte cijfer van een tiende procentpunt of meer, wat voldoende is om een gesorteerde lijst te herschikken.
De kolom met het aantal betalingen is het tweede argument om SUMIFS te verkiezen boven vermenigvuldiging. Een voortschrijdende periode van twaalf maanden bevat niet altijd precies vier kwartaalbetalingen. Ex-dividenddata verschuiven elk jaar enkele dagen, waardoor een periode er drie of vijf kan bevatten. COUNTIFS geeft aan welke situatie zich heeft voorgedaan voordat u op het totaal vertrouwt.
Speciale dividenden zijn geen run rate
De andere klassieke fout is het behandelen van een eenmalige betaling als onderdeel van het reguliere schema. Een bedrijf keert overtollige cash uit via een eenmalige grote distributie, de SUMIFS-functie neemt dit op in het voortschrijdend totaal en de yield-cel schiet omhoog. Twaalf maanden later daalt deze weer geruisloos.
Dergelijke betalingen zijn niet zeldzaam. Het panel telt elke betaling op de Amerikaanse markt die in de dividendkalender als eenmalig wordt gemarkeerd in plaats van als onderdeel van een herhalend schema, maand na maand.
De exacte SQL achter elk getal
SELECT
toString(month_start) AS month,
formatDateTime(month_start, '%b %Y') AS month_label,
countIf(freq = '0') AS one_time_payments,
round(countIf(freq = '0') / count() * 100, 2) AS one_time_share_pct
FROM
(
SELECT
toStartOfMonth(ex_dividend_date) AS month_start,
ticker,
ex_dividend_date,
ifNull(toString(any(frequency)), 'na') AS freq
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toStartOfMonth(today() - 730)
AND ex_dividend_date < toStartOfMonth(today())
GROUP BY month_start, ticker, ex_dividend_date
)
GROUP BY month_start
ORDER BY monthIn Jul 2026, de meest recente volledige maand, hadden 111 betalingen een eenmalige markering, oftewel 2.91% van alles wat die maand ex-dividend ging. Een voortschrijdend totaal over twaalf maanden zal vroeg of laat een van deze betalingen tegenkomen.
De oplossing is een vlag-kolom. Plaats regular of special in kolom C naast elke betaling en voeg dit vervolgens toe als criterium:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
Houd de speciale rijen in het werkblad. Het is echte cash en het hoort thuis in een overzicht van wat er is ontvangen. Het hoort echter niet thuis in een cijfer dat bedoeld is om een lopend tarief te beschrijven.
Wat de voltooide cel weergeeft
Een trailing yield die op deze wijze is opgebouwd, bestaat uit twee bewegende delen die op verschillende tijdstippen veranderen. Het dividendtotaal wijzigt enkele malen per jaar, wanneer een betaling binnen of buiten het tijdvenster valt of wanneer een verhoging wordt doorgevoerd. De koers verandert elke handelssessie. Het onderstaande overzicht toont de voltooide berekening op maandbasis over de afgelopen twee jaar voor dezelfde betaler.
De exacte SQL achter elk getal
WITH
month_close AS
(
SELECT
toLastDayOfMonth(date) AS month_end,
argMax(close, date) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date >= toStartOfMonth(today() - 730)
AND date < toStartOfMonth(today())
GROUP BY month_end
),
payouts AS
(
SELECT
ex_dividend_date,
max(cash_amount) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND ex_dividend_date >= today() - 1160
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
SELECT
toString(month_end) AS month,
formatDateTime(month_end, '%b %Y') AS month_label,
round(ttm, 4) AS ttm_dividends,
round(ttm / close_px * 100, 2) AS trailing_yield_pct
FROM
(
SELECT
m.month_end AS month_end,
toFloat64(any(m.close_px)) AS close_px,
toFloat64(sumIf(p.cash_amount,
(p.ex_dividend_date > subtractYears(m.month_end, 1))
AND (p.ex_dividend_date <= m.month_end))) AS ttm
FROM month_close AS m
CROSS JOIN payouts AS p
GROUP BY m.month_end
)
ORDER BY monthDe dividendlijn vertoont stappen en blijft daarna vlak. De yield-lijn beweegt elke maand over dezelfde periode. In Aug 2024 bedroeg het trailing totaal $1.89 per aandeel bij een yield van 2.61%; tegen Jul 2026 bedroeg het totaal $2.08 en noteerde de yield 2.37%. Een yield-cel die verandert terwijl niemand de dividendkolom heeft aangepast, doet precies wat een trailing yield hoort te doen: de noemer is veranderd.
Zodra één ticker werkt, kopieert u het blok naar beneden voor elk aandeel en weegt u de resultaten op basis van marktwaarde in plaats van de yields te middelen. Die stap is portefeuille-gewogen dividend yield.
Veelgestelde vragen
Heeft GOOGLEFINANCE een attribuut voor dividend yield?
Nee. De functie dekt live koersvelden en historische prijzen, maar geen daarvan is een dividend of een yield. =GOOGLEFINANCE("KO","yield") geeft #N/A als resultaat. Een yield in een sheet wordt samengesteld uit een door u verstrekt dividendcijfer en een prijs die de functie teruggeeft.
Hoe bereken ik de trailing dividend yield in Google Sheets?
Houd ex-dividenddata in één kolom bij en de cash per aandeel in de volgende, sommeer de laatste twaalf maanden met =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()), deel dat totaal door =GOOGLEFINANCE("KO","price") en formatteer de resultaatcel als een percentage.
Waarom verschilt mijn dividend yield van die op de pagina van mijn broker?
Meestal ligt de oorzaak bij de teller. Een pagina die een forward yield vermeldt, annualiseert het huidige aangekondigde tarief, terwijl een twaalfmaands SUMIFS een trailing cijfer teruggeeft dat nog betalingen bevat die tegen het oude tarief zijn gedaan. Een speciaal dividend binnen die periode vergroot het verschil verder.
Hoe houd ik een speciaal dividend buiten de yield?
Voeg een kolom toe waarin elke betaling als regulier of speciaal wordt gemarkeerd en geef die kolom vervolgens door als extra criteriumpaar in de SUMIFS. De speciale betaling blijft in de sheet staan en blijft buiten de yield.
Kan Google Sheets automatisch dividendhistorie ophalen?
Niet via GOOGLEFINANCE. De dividendkolom wordt handmatig bijgehouden of geplakt vanuit een bron die betalingsgegevens publiceert. Dat is de enige handmatige stap in beide methoden op deze pagina.
Elk paneel hier wordt geleverd met de SQL die het heeft gegenereerd, dus open er een om precies te zien hoe een totaal is geteld. Dezelfde vragen kunnen in gewoon Engels worden gesteld op de Strasmore-terminal.