Dividend yield dans Google Sheets : deux solutions
GOOGLEFINANCE ne propose pas d’attribut dividend yield dans Google Sheets. Deux formules fiables : rendement historique et taux à terme.
Pour calculer le dividend yield dans Google Sheets, vous devez construire vous-même la valeur. GOOGLEFINANCE renvoie le cours, l’EPS, le ratio P/E, la capitalisation boursière et une longue liste d’autres données de marché. Le dividend yield n’en fait pas partie : =GOOGLEFINANCE("AAPL","yield") renvoie #N/A, et aucune autre formulation ne fonctionne. Deux solutions sont fiables. Calculez un rendement historique à partir d’une colonne de dividendes que vous tenez à jour dans la feuille, ou saisissez le taux à terme annoncé dans une cellule, puis divisez.
Pourquoi GOOGLEFINANCE ne propose aucun attribut de rendement du dividende
Les attributs de la fonction se répartissent en deux familles. Les champs de cotation en temps réel sont récupérés avec deux arguments : price, volume, pe, eps, marketcap, high52, changepct et une douzaine d’autres environ. Viennent ensuite les champs de cours historiques, récupérés avec une date ou une période : open, high, low, close, volume. Les données de dividendes n’appartiennent à aucune de ces deux familles. Aucun attribut ne renvoie l’historique des versements ou des distributions. Le numérateur du rendement doit donc provenir d’une source externe à la fonction.
Le rendement du dividende correspond aux dividendes annuels par action divisés par le cours par action, exprimé en pourcentage. Le cours tient en une cellule. Le calcul du dividende demande davantage de travail. Si ce ratio vous est encore peu familier, ce que mesure réellement le rendement du dividende l’explique avant d’aborder les mécanismes des feuilles de calcul, tandis que comment calculer le rendement du dividende détaille le calcul.
Voici les données brutes : chaque versement effectué par une entreprise au cours des quelque trois dernières années. Chaque ligne indique une date ex-dividende, c’est-à-dire la date à partir de laquelle l’acheteur de l’action ne reçoit plus le prochain versement, ainsi que le montant versé en espèces par action.
Le SQL exact derrière chaque chiffre
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 a versé $0.46 par action le Sep 14, 2023 et $0.53 le Jun 15, 2026, soit 12 versements sur la période. La deuxième ligne du graphique correspond à chaque versement multiplié par quatre : il s’agit du taux annuel implicite si le versement du trimestre était reconduit toute l’année. Le montant augmente une fois par an, puis reste stable entre deux relèvements. C’est cette progression par paliers qui fausse la plupart des rendements calculés dans les feuilles de calcul. L’historique complet figure dans l’historique des dividendes de Coca-Cola.
Deux façons de calculer le rendement du dividende dans Google Sheets
La première méthode consiste à calculer un rendement historique glissant à partir de votre propre colonne. Saisissez les dates ex-dividende dans la colonne A et le montant en numéraire par action dans la colonne B, avec une ligne par versement, puis :
- Total sur les douze derniers mois :
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - Cours en temps réel :
=GOOGLEFINANCE("KO","price") - Rendement historique glissant, avec la cellule au format pourcentage :
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - Nombre de versements sur la même période, à titre de contrôle :
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
EDATE(TODAY(),-12) correspond au même jour calendaire douze mois auparavant. La période glisse donc automatiquement. Formatez la cellule du rendement en pourcentage au lieu de multiplier par 100 dans la formule. Une feuille qui applique les deux méthodes affiche 290 % au lieu de 2,9 %.
La deuxième méthode consiste à calculer un rendement prévisionnel à partir du taux annoncé. Saisissez le dernier montant par action annoncé dans D2 et le nombre de versements annuels dans E2 :
- Rendement prévisionnel :
=D2*E2/GOOGLEFINANCE("KO","price")
Rien n’automatise D2. Le conseil d’administration annonce un taux. Vous le relevez dans le communiqué d’annonce et le saisissez manuellement. C’est la méthode la plus rigoureuse pour calculer un rendement prévisionnel. Le choix entre les deux numérateurs constitue tout le sujet de rendement historique ou prévisionnel du dividende.
Deux remarques complémentaires sur la fonction. Les cours sont différés de vingt minutes au maximum. Le délai applicable à une cellule donnée se lit avec =GOOGLEFINANCE("KO","datadelay"). Par ailleurs, une extraction historique renvoie un tableau de deux lignes sur deux colonnes, et non un nombre. Il faut donc l’encapsuler : =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) renvoie uniquement le cours de clôture.
L’étape d’annualisation et l’erreur qu’elle dissimule
La formule erronée la plus fréquente dans un tableau de dividendes consiste à multiplier le dernier versement par quatre. Elle fonctionne jusqu’au moment où l’entreprise augmente le dividende. Après cette hausse, trois des quatre versements effectués au cours des douze derniers mois l’ont été à l’ancien taux. Multiplier le nouveau taux par quatre surestime donc ce qu’un actionnaire a effectivement perçu.
Le tableau ci-dessous mesure cet écart pour huit grandes entreprises versant des dividendes : le montant payé par action par chaque valeur au cours des douze derniers mois, comparé à quatre fois son dernier versement.
Le SQL exact derrière chaque chiffre
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 DESCClassée selon l’écart, JNJ arrive en tête. Elle a effectué 4 versements totalisant $5.24 par action sur la période, tandis que quatre fois son dernier versement atteint $5.36, soit 2.29% de plus. Pour une action affichant un rendement proche de 3 %, une erreur de cette ampleur modifie le rendement affiché d’au moins un dixième de point de pourcentage. Cela suffit à changer l’ordre d’une liste classée.
La colonne indiquant le nombre de versements est le deuxième argument de SUMIFS, avant la multiplication. Une période glissante de douze mois ne contient pas toujours exactement quatre versements trimestriels. Les dates ex-dividende varient de quelques jours chaque année, et une période peut en inclure trois ou cinq. COUNTIFS vous indique lequel de ces cas s’est produit avant que vous ne vous fiiez au total.
Les dividendes exceptionnels ne constituent pas un run rate
L’autre erreur classique consiste à intégrer un versement ponctuel dans le calendrier habituel. Une entreprise distribue une partie de sa trésorerie excédentaire en un seul versement important, la fonction SUMIFS l’intègre au total glissant et la cellule de rendement bondit. Douze mois plus tard, elle revient discrètement à son niveau précédent.
Ces versements ne sont pas rares. Le tableau recense, mois par mois, chaque versement effectué sur le marché américain que le calendrier des dividendes qualifie de ponctuel plutôt que récurrent.
Le SQL exact derrière chaque chiffre
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 monthEn Jul 2026, le dernier mois complet, 111 versements étaient identifiés comme ponctuels, soit 2.91% de l’ensemble des versements passés ex-dividende ce mois-là. Une somme glissante sur douze mois en intégrera tôt ou tard un.
La solution consiste à ajouter une colonne indicatrice. Saisissez regular ou special dans la colonne C, à côté de chaque versement, puis ajoutez cette valeur comme critère :
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
Conservez les lignes correspondant aux versements exceptionnels dans la feuille. Il s’agit de flux de trésorerie réels, qui doivent figurer dans l’historique des sommes reçues. En revanche, ils ne doivent pas être intégrés à un indicateur censé décrire un taux récurrent.
Ce qu’affiche la cellule finale
Un rendement glissant calculé de cette façon comporte deux éléments, qui n’évoluent pas au même rythme. Le total des dividendes change quelques fois par an, lorsqu’un versement entre dans la fenêtre de calcul ou en sort, ou lorsqu’une hausse est annoncée. Le cours change à chaque séance. Le panneau ci-dessous exécute le calcul final mois par mois sur les deux dernières années pour le même payeur.
Le SQL exact derrière chaque chiffre
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 monthLa ligne des dividendes évolue par paliers, puis reste stable. La ligne du rendement varie chaque mois sur la même période. En Aug 2024, le total glissant s’établissait à $1.89 par action, pour un rendement de 2.61% ; en Jul 2026, le total atteignait $2.08 et le rendement ressortait à 2.37%. Une cellule de rendement qui varie alors que personne n’a modifié la colonne des dividendes fait exactement ce qu’un rendement glissant doit faire : le dénominateur a changé.
Une fois le calcul validé pour un ticker, recopiez le bloc vers le bas pour chaque ligne du portefeuille et pondérez les résultats par la valeur de marché, au lieu de calculer la moyenne des rendements. Cette étape correspond au rendement du dividende pondéré du portefeuille.
Foire aux questions
GOOGLEFINANCE comporte-t-elle un attribut de rendement du dividende ?
Non. La fonction couvre les champs de cours en temps réel et les cours historiques. Aucun ne correspond à un dividende ou à un rendement. =GOOGLEFINANCE("KO","yield") renvoie #N/A. Dans une feuille, le rendement est calculé à partir d’un montant de dividende que vous fournissez et d’un cours renvoyé par la fonction.
Comment calculer le rendement du dividende sur les douze derniers mois dans Google Sheets ?
Conservez les dates ex-dividende dans une colonne et le montant en numéraire par action dans la suivante. Additionnez les douze derniers mois avec =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()), divisez le total par =GOOGLEFINANCE("KO","price"), puis formatez la cellule de résultat en pourcentage.
Pourquoi mon rendement du dividende diffère-t-il de celui affiché sur la page de mon broker ?
Le plus souvent, l’écart vient du numérateur. Une page qui affiche un rendement prévisionnel annualise le taux actuellement annoncé, tandis qu’un SUMIFS sur douze mois renvoie un rendement historique qui inclut encore des versements effectués à l’ancien taux. La présence d’un dividende exceptionnel dans la période accentue encore l’écart.
Comment exclure un dividende exceptionnel du rendement ?
Ajoutez une colonne indiquant si chaque versement est régulier ou exceptionnel, puis transmettez cette colonne comme paire de critères supplémentaire dans SUMIFS. Le versement exceptionnel reste dans la feuille, mais n’entre pas dans le calcul du rendement.
Google Sheets peut-il importer automatiquement l’historique des dividendes ?
Pas avec GOOGLEFINANCE. La colonne des dividendes est renseignée manuellement ou collée depuis une source qui publie l’historique des versements. C’est la seule étape manuelle des deux méthodes présentées sur cette page.
Chaque panneau est fourni avec le SQL qui a servi à le produire. Ouvrez-en un pour voir exactement comment un total a été calculé. Les mêmes questions peuvent être posées en français courant sur le terminal Strasmore.