Dividend Yield sa Google Sheets: 2 Formula
Walang dividend yield attribute ang GOOGLEFINANCE sa Google Sheets. Gamitin ang trailing yield mula sa dividends paid o forward yield gamit ang idineklarang rate.
Para kalkulahin ang dividend yield sa Google Sheets, kailangan mong buuin mismo ang figure. Ibinabalik ng GOOGLEFINANCE ang presyo, eps, pe, market cap, at mahabang listahan ng iba pang quote fields, pero hindi kasama ang dividend yield: ang =GOOGLEFINANCE("AAPL","yield") ay nagbabalik ng #N/A, at wala ring ibang spelling ng terminong ito ang gumagana. Dalawang workaround ang maaasahan. Kalkulahin ang trailing yield mula sa dividend column na pinananatili mo sa sheet, o ilagay sa isang cell ang idineklarang forward rate at hatiin ito.
Bakit walang dividend yield attribute ang GOOGLEFINANCE
May dalawang grupo ang attributes ng function. Una, ang live quote fields na kinukuha gamit ang dalawang argumento: price, volume, pe, eps, marketcap, high52, changepct at humigit-kumulang isang dosena pa. Ikalawa, ang historical price fields na kinukuha gamit ang isang petsa o date range: open, high, low, close, volume. Hindi kabilang sa alinmang grupo ang dividend records. Walang attribute na nagbabalik ng payment o payout history, kaya kailangang kunin sa labas ng function ang numerator ng yield.
Ang dividend yield ay ang taunang dibidendo bawat share na hinati sa presyo bawat share, na ipinapakita bilang porsiyento. Isang cell lang ang kailangan para sa bahagi ng presyo. Mas kumplikado ang bahagi ng dibidendo. Kung bago sa iyo ang ratio na ito, ipinaliliwanag ng kung ano talaga ang sinusukat ng dividend yield ang konsepto bago ang mga mekanika ng spreadsheet, habang ipinapakita ng kung paano kalkulahin ang dividend yield ang arithmetic.
Narito ang raw material: bawat payment na ginawa ng isang household payer sa humigit-kumulang nakalipas na tatlong taon. Bawat row ay may ex-dividend date—ang petsa kung kailan at pagkatapos nito ay hindi na matatanggap ng bumili ng stock ang nalalapit na payment—kasama ang cash na binayaran bawat share.
Ang eksaktong SQL sa likod ng bawat numero
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_dateNagbayad ang Coca-Cola ng $0.46 bawat share noong Sep 14, 2023 at $0.53 noong Jun 15, 2026, o 12 payments sa buong panahon. Ang ikalawang linya sa chart ay bawat payment na minultiply sa four: ang annual rate na ipinahihiwatig kung mauulit sa buong taon ang payment para sa quarter na iyon. Tumataas ito isang beses bawat taon at nananatiling flat sa pagitan ng mga pagtaas. Diyan kadalasang nagkakamali ang mga spreadsheet yield. Makikita ang buong record sa dividend history ng Coca-Cola.
Dalawang paraan para kunin ang dividend yield sa Google Sheets
Ang unang paraan ay trailing yield na binubuo mula sa sarili mong column. Ilagay ang ex-dividend dates sa column A at ang cash per share sa column B, tig-isang row para sa bawat bayad, pagkatapos:
- Kabuuan sa trailing twelve months:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - Kasalukuyang presyo:
=GOOGLEFINANCE("KO","price") - Trailing yield, kapag naka-format ang cell bilang percentage:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - Bilang ng bayad sa parehong window, bilang pagsusuri:
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
Ang EDATE(TODAY(),-12) ay ang parehong calendar day labindalawang buwan ang nakalipas, kaya kusang umuusad ang window. I-format ang yield cell bilang percentage sa halip na i-multiply sa 100 sa loob ng formula. Ang sheet na gumagawa ng huli ay magpi-print ng 290% kahit 2.9% ang ibig sabihin.
Ang ikalawang paraan ay forward yield batay sa idineklarang rate. Ilagay sa D2 ang pinakahuling idineklarang per-share rate at sa E2 ang bilang ng bayad bawat taon:
- Forward yield:
=D2*E2/GOOGLEFINANCE("KO","price")
Walang awtomatikong nag-a-update sa D2. Nagdedeklara ang board ng rate, at kinukuha mo ito sa declaration bago mano-manong ilagay. Ito ang wastong paraan ng pagkalkula ng forward yield, at ang pagpili sa pagitan ng dalawang numerator ang buong paksa ng trailing kumpara sa forward dividend yield.
Dalawa pang maiikling paalala tungkol sa function. Delayed nang hanggang 20 minuto ang quotes, at mababasa ang delay sa isang partikular na cell gamit ang =GOOGLEFINANCE("KO","datadelay"). Nagbabalik din ang historical fetch ng two by two array sa halip na isang numero, kaya kailangan itong i-wrap: =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) ang mismong closing price lang ang ibinibigay.
Annualization at ang pagkakamaling itinatago nito
Ang pinakakaraniwang maling formula sa dividend sheet ay minumultiply sa four ang pinakahuling payment. Tama ito hanggang sa sandaling magtaas ng dividend ang kumpanya. Pagkatapos ng increase, tatlo sa four payments sa trailing year ay ginawa pa sa dating rate. Dahil dito, sobra ang ipinapakitang halaga kapag minultiply sa four ang bagong rate kumpara sa aktuwal na natanggap ng shareholder.
Ipinapakita ng panel sa ibaba ang agwat para sa eight malalaking payer: ang kabuuang binayad ng bawat pangalan kada share sa trailing twelve months, katabi ng four times ng pinakahuli nitong payment.
Ang eksaktong SQL sa likod ng bawat numero
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 DESCKapag inayos ayon sa agwat, nangunguna ang JNJ. Nagbayad ito ng 4 payments na may kabuuang $5.24 kada share sa loob ng window. Samantala, ang four times ng pinakahuli nitong payment ay $5.36, o 2.29% na mas mataas. Sa isang stock na may yield na malapit sa 3%, ang ganitong laki ng error ay maaaring magpabago sa ipinapakitang figure nang one-tenth ng percentage point o higit pa. Sapat ito upang mabago ang pagkakasunod-sunod ng isang sorted list.
Ang payment count column ang ikalawang argumento kung ihahambing ang SUMIFS sa multiplication. Hindi palaging eksaktong four quarterly payments ang nasa rolling twelve-month window. Maaaring maiba nang ilang araw bawat taon ang mga ex-dividend date, kaya maaaring tatlo o five ang mapasama sa window. Ipinapaalam sa iyo ng COUNTIFS kung alin ang nangyari bago mo pagkatiwalaan ang total.
Ang special dividends ay hindi run rate
Ang isa pang karaniwang error ay ituring ang isang beses na bayad bilang bahagi ng regular na iskedyul. Nagbibigay ang isang kumpanya ng malaking one-time distribution mula sa sobrang cash nito. Isinasama ito ng SUMIFS sa trailing total, kaya tumataas ang yield cell. Pagkalipas ng labindalawang buwan, tahimik itong bumababa muli.
Hindi bihira ang mga bayad na ito. Binibilang ng panel ang bawat bayad sa buong US market na minarkahan ng dividend calendar bilang one-time payment sa halip na bahagi ng paulit-ulit na iskedyul, buwan-buwan.
Ang eksaktong SQL sa likod ng bawat numero
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 monthSa Jul 2026, ang pinakahuling kumpletong buwan, may one-time marking ang 111 bayad, o 2.91% ng lahat ng nag-ex-dividend sa buwang iyon. Maaga o huli, isasama ng rolling twelve-month sum ang isa sa mga ito.
Ang solusyon ay gumamit ng flag column. Ilagay ang regular o special sa column C sa tabi ng bawat bayad, at idagdag ito bilang criterion:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
Panatilihin ang mga special row sa sheet. Totoong cash ang mga ito at kabilang sa rekord ng mga natanggap na bayad. Ngunit hindi dapat isama ang mga ito sa numerong naglalarawan ng patuloy na rate.
Ano ang inilalabas ng nakumpletong cell
Ang trailing yield na binuo sa ganitong paraan ay may dalawang gumagalaw na bahagi, at magkaiba ang bilis ng pagbabago ng mga ito. Ilang beses sa isang taon nagbabago ang kabuuang dividend, kapag may bayad na pumapasok o lumalabas sa window, o kapag may dividend increase. Nagbabago naman ang presyo sa bawat trading session. Ipinapakita ng panel sa ibaba ang nakumpletong calculation buwan-buwan sa nakalipas na dalawang taon para sa parehong payer.
Ang eksaktong SQL sa likod ng bawat numero
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 monthPa-step ang dividend line, at pagkatapos ay nananatiling flat. Gumagalaw ang yield line bawat buwan sa parehong panahon. Sa Aug 2024, ang trailing total ay $1.89 bawat share laban sa yield na 2.61%; pagsapit ng Jul 2026, ang total ay $2.08 at ang yield ay 2.37%. Kung nagbabago ang yield cell kahit walang nagbago sa dividend column, ginagawa nito ang dapat gawin ng trailing yield: gumalaw ang denominator.
Kapag gumagana na ang isang ticker, kopyahin ang block pababa para sa bawat holding at timbangin ang mga resulta batay sa market value sa halip na i-average ang mga yield. Ang hakbang na ito ang portfolio weighted dividend yield.
Mga Madalas Itanong
May dividend yield attribute ba ang GOOGLEFINANCE?
Wala. Sinasaklaw ng function ang live quote fields at historical prices, at wala sa mga ito ang dividend o yield. Ang =GOOGLEFINANCE("KO","yield") ay nagbabalik ng #N/A. Binubuo sa sheet ang yield mula sa dividend figure na ibinibigay mo at sa presyong ibinabalik ng function.
Paano ko kakalkulahin ang trailing dividend yield sa Google Sheets?
Ilagay ang mga ex-dividend date sa isang column at ang cash per share sa kasunod na column. I-sum ang nakaraang twelve months gamit ang =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()). Hatiin ang total na iyon sa =GOOGLEFINANCE("KO","price"), at i-format bilang percentage ang result cell.
Bakit naiiba ang dividend yield ko sa nasa page ng broker ko?
Kadalasan, nasa numerator ang dahilan. Ang page na nag-quote ng forward yield ay ina-annualize ang kasalukuyang declared rate. Samantala, ang twelve month SUMIFS ay nagbabalik ng trailing figure na kasama pa ang mga bayad na ginawa sa dating rate. Kung may special dividend sa loob ng period, lalo pang lumalaki ang agwat.
Paano ko maiiwasang maisama ang special dividend sa yield?
Magdagdag ng column na nagmamarka sa bawat bayad bilang regular o special. Pagkatapos, ipasa ang column na iyon bilang karagdagang criterion pair sa SUMIFS. Mananatili sa sheet ang special payment, pero hindi ito isasama sa yield.
Awtomatiko bang makukuha ng Google Sheets ang dividend history?
Hindi sa pamamagitan ng GOOGLEFINANCE. Mano-manong pinapanatili ang dividend column o ipinapaste mula sa source na naglalathala ng payment records. Iyan ang nag-iisang manual na hakbang sa dalawang method sa page na ito.
May kalakip na SQL ang bawat panel dito na ginamit para makuha ang datos. Buksan ang isang panel para makita kung paano eksaktong binilang ang isang total. Maaari ring itanong sa plain English ang parehong mga tanong sa Strasmore terminal.