Google Sheets में Dividend Yield कैसे निकालें
Google Sheets में GOOGLEFINANCE के जरिए डिविडेंड यील्ड नहीं मिलती है। यहाँ दो प्रभावी तरीके दिए गए हैं जिनसे आप ट्रेलिंग और फॉरवर्ड यील्ड की गणना आसानी से कर सकते हैं।
Google Sheets में डिविडेंड यील्ड की गणना
Google Sheets में डिविडेंड यील्ड की गणना करने के लिए आपको स्वयं डेटा तैयार करना होगा। GOOGLEFINANCE फंक्शन प्राइस, EPS, P/E, मार्केट कैप और अन्य कई कोट फील्ड्स तो देता है, लेकिन डिविडेंड यील्ड उनमें शामिल नहीं है: =GOOGLEFINANCE("AAPL","yield") का उपयोग करने पर #N/A प्राप्त होता है, और इस शब्द की कोई अन्य स्पेलिंग भी काम नहीं करती है। इसके लिए दो तरीके प्रभावी हैं। या तो आप अपनी शीट में बनाए गए डिविडेंड कॉलम से ट्रेलिंग यील्ड की गणना करें, या फिर घोषित फॉरवर्ड रेट को एक सेल में टाइप करके उससे भाग दें।
GOOGLEFINANCE में dividend yield एट्रिब्यूट क्यों नहीं है
इस फंक्शन के एट्रिब्यूट दो श्रेणियों में आते हैं। पहली श्रेणी लाइव कोट फील्ड्स की है, जिन्हें दो तर्कों (arguments) के साथ प्राप्त किया जाता है: price, volume, pe, eps, marketcap, high52, changepct और लगभग एक दर्जन अन्य। दूसरी श्रेणी ऐतिहासिक मूल्य फील्ड्स की है, जिन्हें एक तारीख या तारीखों की रेंज के साथ प्राप्त किया जाता है: open, high, low, close, volume। डिविडेंड रिकॉर्ड इन दोनों में से किसी भी श्रेणी में नहीं आते हैं। कोई भी एट्रिब्यूट भुगतान या पेआउट इतिहास नहीं लौटाता है, जिसके कारण यील्ड का अंश (numerator) फंक्शन के बाहर से प्राप्त करना पड़ता है।
Dividend yield प्रति शेयर वार्षिक डिविडेंड को प्रति शेयर मूल्य से विभाजित करने पर प्राप्त होता है, जिसे प्रतिशत में लिखा जाता है। इसका मूल्य वाला हिस्सा एक सेल में आ जाता है। डिविडेंड वाला हिस्सा मेहनत का काम है। यदि यह अनुपात आपके लिए नया है, तो dividend yield वास्तव में क्या मापता है स्प्रेडशीट की किसी भी प्रक्रिया से पहले इसे समझाता है, और dividend yield की गणना कैसे करें गणितीय प्रक्रिया को चरण-दर-चरण बताता है।
यहाँ कच्चा डेटा दिया गया है: एक प्रमुख भुगतानकर्ता द्वारा लगभग पिछले तीन वर्षों में किए गए प्रत्येक भुगतान का विवरण। प्रत्येक पंक्ति एक ex-dividend date है, वह तारीख जिस पर या उसके बाद शेयर खरीदने वाले को आगामी भुगतान नहीं मिलता है, और उसके साथ प्रति शेयर नकद भुगतान की राशि दी गई है।
हर आंकड़े के पीछे का पूरा SQL
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 ने Sep 14, 2023 को प्रति शेयर $0.46 और Jun 15, 2026 को $0.53 का भुगतान किया, जो इस अवधि में 12 भुगतान हैं। चार्ट की दूसरी पंक्ति प्रत्येक भुगतान को चार से गुणा करके दर्शाती है: यदि उस तिमाही का भुगतान पूरे वर्ष दोहराया जाए, तो यह वार्षिक दर होगी। यह वर्ष में एक बार बढ़ती है और बीच में स्थिर रहती है। यही उतार-चढ़ाव वह जगह है जहाँ अधिकांश स्प्रेडशीट यील्ड गलत हो जाती हैं। पूरा रिकॉर्ड Coca-Cola का डिविडेंड इतिहास में उपलब्ध है।
Google Sheets में डिविडेंड यील्ड प्राप्त करने के दो तरीके
पहला तरीका आपके अपने कॉलम से बनाया गया ट्रेलिंग यील्ड है। कॉलम A में एक्स-डिविडेंड तारीखें और कॉलम B में प्रति शेयर नकद राशि दर्ज करें, हर भुगतान के लिए एक पंक्ति, फिर:
- पिछले बारह महीनों का कुल योग:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) - लाइव मूल्य:
=GOOGLEFINANCE("KO","price") - ट्रेलिंग यील्ड, सेल को प्रतिशत के रूप में फॉर्मेट करें:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())/GOOGLEFINANCE("KO","price") - जांच के लिए उसी विंडो में भुगतान की संख्या:
=COUNTIFS($A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY())
EDATE(TODAY(),-12) बारह महीने पहले का वही कैलेंडर दिन है, इसलिए विंडो अपने आप आगे बढ़ती रहती है। यील्ड सेल को फॉर्मूले के अंदर सौ से गुणा करने के बजाय प्रतिशत के रूप में फॉर्मेट करें। जो शीट दोनों काम करती है, वह 2.9% के बजाय 290% दिखाती है।
दूसरा तरीका घोषित दर से फॉरवर्ड यील्ड है। D2 में सबसे हाल ही में घोषित प्रति-शेयर दर और E2 में प्रति वर्ष भुगतानों की संख्या दर्ज करें:
- फॉरवर्ड यील्ड:
=D2*E2/GOOGLEFINANCE("KO","price")
D2 को कोई भी चीज़ स्वचालित नहीं करती है। बोर्ड एक दर घोषित करता है, और आप उसे घोषणा से पढ़कर टाइप करते हैं। यह फॉरवर्ड यील्ड का वास्तविक संस्करण है, और इन दो अंशों के बीच का चुनाव ही ट्रेलिंग बनाम फॉरवर्ड डिविडेंड यील्ड का पूरा विषय है।
फंक्शन पर दो छोटी टिप्पणियां। कोट्स बीस मिनट तक देरी से आते हैं, और किसी भी सेल पर देरी को =GOOGLEFINANCE("KO","datadelay") के साथ पढ़ा जा सकता है। और एक ऐतिहासिक डेटा फेच एक संख्या के बजाय दो गुणा दो का ऐरे लौटाता है, इसलिए इसे रैप करें: =INDEX(GOOGLEFINANCE("KO","close",DATE(2026,6,30)),2,2) केवल क्लोजिंग प्राइस देता है।
वार्षिककरण (annualization) का चरण और इसमें छिपी गलती
डिविडेंड शीट में सबसे आम गलत फॉर्मूला नवीनतम भुगतान को चार से गुणा करना है। यह तब तक सही काम करता है जब तक कंपनी डिविडेंड नहीं बढ़ाती। बढ़ोतरी के बाद, पिछले एक साल के चार भुगतानों में से तीन पुराने दर पर किए गए होते हैं, और नई दर को चार से गुणा करने पर वह राशि बढ़ जाती है जो शेयरधारक को वास्तव में प्राप्त हुई है।
नीचे दिया गया पैनल आठ बड़े भुगतानकर्ताओं के लिए उस अंतर को दर्शाता है: प्रत्येक नाम ने पिछले बारह महीनों में प्रति शेयर कितना भुगतान किया, और उसके नवीनतम भुगतान का चार गुना कितना है।
हर आंकड़े के पीछे का पूरा SQL
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 DESCअंतर के आधार पर क्रमबद्ध करने पर, JNJ सबसे ऊपर है। इसने इस अवधि में कुल $5.24 प्रति शेयर के 4 भुगतान किए, जबकि इसके नवीनतम भुगतान का चार गुना $5.36 आता है, जो 2.29% अधिक है। लगभग 3% यील्ड वाले स्टॉक पर, इतने बड़े अंतर से प्रिंटेड आंकड़ा एक प्रतिशत के दसवें हिस्से या उससे अधिक बदल जाता है, जो एक क्रमबद्ध सूची को फिर से व्यवस्थित करने के लिए पर्याप्त है।
भुगतान गणना कॉलम गुणन के बजाय SUMIFS का उपयोग करने का दूसरा तर्क है। बारह महीने की रोलिंग अवधि में हमेशा सटीक चार तिमाही भुगतान नहीं होते हैं। Ex-dividend date हर साल कुछ दिनों के लिए आगे-पीछे हो सकती है, और एक अवधि में तीन या पांच भुगतान आ सकते हैं। कुल राशि पर भरोसा करने से पहले COUNTIFS आपको बताता है कि इनमें से क्या हुआ है।
विशेष लाभांश (special dividends) रन रेट का हिस्सा नहीं होते
एक और आम गलती एकमुश्त भुगतान को नियमित अनुसूची का हिस्सा मान लेना है। जब कोई कंपनी अधिशेष नकदी को एक बड़े वितरण के साथ समाप्त करती है, तो SUMIFS फ़ंक्शन इसे पिछले कुल योग में शामिल कर लेता है, जिससे यील्ड सेल का आंकड़ा अचानक बढ़ जाता है। बारह महीने बाद, यह चुपचाप वापस अपने स्तर पर आ जाता है।
ऐसे भुगतान दुर्लभ नहीं हैं। हमारा पैनल अमेरिकी बाजार में हर उस भुगतान की गणना करता है जिसे लाभांश कैलेंडर में नियमित अनुसूची के बजाय एकमुश्त (one-time) के रूप में चिह्नित किया गया है, और यह गणना महीने-दर-महीने की जाती है।
हर आंकड़े के पीछे का पूरा SQL
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 monthJul 2026 में, जो कि सबसे हालिया पूर्ण महीना है, 111 भुगतानों को एकमुश्त के रूप में चिह्नित किया गया था, जो उस महीने ex-dividend होने वाले कुल भुगतानों का 2.91% था। बारह महीनों का रोलिंग योग देर-सबेर इनमें से किसी एक भुगतान से टकराएगा ही।
इसका समाधान एक फ्लैग कॉलम है। प्रत्येक भुगतान के बगल में कॉलम C में regular या special लिखें, और फिर इसे एक मानदंड (criterion) के रूप में जोड़ें:
=SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY(),$C$2:$C,"regular")
विशेष भुगतान वाली पंक्तियों को शीट में बनाए रखें। वे वास्तविक नकदी हैं और जो प्राप्त हुआ है, उसके रिकॉर्ड में उनका होना आवश्यक है। लेकिन उन्हें ऐसी संख्या में शामिल नहीं किया जाना चाहिए जिसका उद्देश्य चल रही दर (ongoing rate) को दर्शाना हो।
तैयार सेल क्या दर्शाता है
इस तरह से तैयार की गई ट्रेलिंग यील्ड (trailing yield) में दो गतिशील हिस्से होते हैं, और वे अलग-अलग समय पर बदलते हैं। डिविडेंड का कुल योग साल में कुछ बार बदलता है, जब कोई भुगतान विंडो में आता है या बाहर निकलता है, या जब भुगतान में वृद्धि होती है। कीमत हर ट्रेडिंग सत्र में बदलती है। नीचे दिया गया पैनल उसी भुगतानकर्ता के लिए पिछले दो वर्षों में महीने-दर-महीने की गणना को दर्शाता है।
हर आंकड़े के पीछे का पूरा SQL
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 monthडिविडेंड लाइन सीढ़ी की तरह ऊपर बढ़ती है, फिर स्थिर रहती है। यील्ड लाइन उसी अवधि में हर महीने बदलती है। Aug 2024 में ट्रेलिंग कुल योग $1.89 प्रति शेयर था, जिसके मुकाबले यील्ड 2.61% थी; Jul 2026 तक कुल योग $2.08 हो गया और यील्ड 2.37% दर्ज की गई। एक यील्ड सेल जो तब बदलता है जब किसी ने डिविडेंड कॉलम को नहीं छुआ है, वह वही कर रहा है जो एक ट्रेलिंग यील्ड करती है: हर (denominator) बदल गया है।
एक बार जब एक टिकर (ticker) के लिए यह काम करने लगे, तो इस ब्लॉक को हर होल्डिंग के लिए कॉपी करें और यील्ड का औसत निकालने के बजाय बाजार मूल्य के आधार पर परिणामों को वेट (weight) दें। वह चरण पोर्टफोलियो वेटेड डिविडेंड यील्ड है।
अक्सर पूछे जाने वाले प्रश्न
क्या GOOGLEFINANCE में डिविडेंड यील्ड एट्रिब्यूट होता है?
नहीं। यह फंक्शन लाइव कोट फील्ड्स और ऐतिहासिक कीमतों को कवर करता है, जिनमें से कोई भी डिविडेंड या यील्ड नहीं है। =GOOGLEFINANCE("KO","yield") का परिणाम #N/A होता है। शीट में यील्ड की गणना आपके द्वारा प्रदान किए गए डिविडेंड आंकड़े और फंक्शन द्वारा लौटाई गई कीमत से की जाती है।
मैं Google Sheets में ट्रेलिंग डिविडेंड यील्ड की गणना कैसे करूँ?
एक कॉलम में ex-dividend तारीखें और दूसरे में प्रति शेयर नकद राशि रखें, =SUMIFS($B$2:$B,$A$2:$A,">="&EDATE(TODAY(),-12),$A$2:$A,"<="&TODAY()) के साथ पिछले बारह महीनों का योग करें, उस कुल को =GOOGLEFINANCE("KO","price") से विभाजित करें, और परिणाम सेल को प्रतिशत के रूप में फॉर्मेट करें।
मेरी डिविडेंड यील्ड मेरे ब्रोकर के पेज पर दी गई यील्ड से अलग क्यों है?
इसका सबसे सामान्य कारण अंश (numerator) है। जो पेज फॉरवर्ड यील्ड दिखाता है, वह वर्तमान घोषित दर को वार्षिक बनाता है, जबकि बारह महीने का SUMIFS एक ट्रेलिंग आंकड़ा देता है जिसमें पुरानी दर पर किए गए भुगतान भी शामिल होते हैं। इस अवधि के भीतर कोई विशेष डिविडेंड (special dividend) इस अंतर को और बढ़ा देता है।
मैं विशेष डिविडेंड को यील्ड से बाहर कैसे रखूँ?
प्रत्येक भुगतान को 'नियमित' या 'विशेष' के रूप में चिह्नित करने के लिए एक कॉलम जोड़ें, फिर उस कॉलम को SUMIFS में एक अतिरिक्त मानदंड के रूप में शामिल करें। विशेष भुगतान शीट में तो रहेगा, लेकिन यील्ड की गणना से बाहर रहेगा।
क्या Google Sheets डिविडेंड हिस्ट्री को स्वचालित रूप से खींच सकता है?
GOOGLEFINANCE के माध्यम से नहीं। डिविडेंड कॉलम को हाथ से अपडेट किया जाता है या भुगतान रिकॉर्ड प्रकाशित करने वाले स्रोत से पेस्ट किया जाता है। इस पेज पर दी गई दोनों विधियों में यही एकमात्र मैन्युअल चरण है।
यहाँ प्रत्येक पैनल उस SQL के साथ आता है जिसने इसे तैयार किया है, इसलिए कुल योग की गणना देखने के लिए किसी एक को खोलें। यही प्रश्न Strasmore टर्मिनल पर सामान्य अंग्रेजी में भी पूछे जा सकते हैं।