Fundamental analysis of stocks is the cornerstone method for evaluating a company's intrinsic value by examining its financial statements, business model, competitive position, and economic environment. Unlike technical analysis, which focuses on price patterns and trading volume, fundamental analysis seeks to determine whether a stock is trading above or below its true worth. In this comprehensive guide, we cover every aspect of fundamental analysis — from financial statements and valuation ratios to growth metrics and quality indicators — and show you how to perform the entire analysis in Excel using MarketXLS formulas.
What Is Fundamental Analysis?
Fundamental analysis is the process of evaluating a security's intrinsic value by examining related economic, financial, and qualitative factors. The goal is to determine whether a stock's current market price accurately reflects the company's underlying value.
Two Approaches to Fundamental Analysis
| Approach | Direction | Focus |
|---|---|---|
| Top-Down | Economy → Sector → Company | Start with macroeconomic conditions, identify promising sectors, then select best companies within those sectors |
| Bottom-Up | Company → Sector → Economy | Start with individual company analysis regardless of macro conditions, focus on company-specific strengths |
Both approaches ultimately converge on the same goal: identifying stocks whose market price diverges from intrinsic value.
The Three Financial Statements
Every fundamental analysis begins with the three core financial statements filed with the SEC (for US companies):
1. Income Statement (Profit & Loss)
The income statement shows a company's revenues, expenses, and profits over a specific period.
Key line items you can pull with MarketXLS:
=Revenue("AAPL")
=hf_revenue("AAPL", "2024", "2")
=hf_revenue("AAPL", "ly")
=hf_operatingIncome("AAPL", "ly")
=hf_netIncome("AAPL", "ly")
=hf_eps("AAPL", "lq")
=hf_ebitda("AAPL", "ly")
| Function | What It Returns |
|---|---|
=Revenue("AAPL") | Current/latest revenue |
=hf_revenue("AAPL", "2024", "2") | Revenue for Q2 2024 |
=hf_revenue("AAPL", "ly") | Revenue for last reported fiscal year |
=hf_revenue("AAPL", "lq") | Revenue for last reported quarter |
=hf_revenue("AAPL", "lt") | Trailing 12 months revenue |
=hf_operatingIncome("AAPL", "ly") | Operating income, last year |
=hf_netIncome("AAPL", "ly") | Net income, last year |
=hf_eps("AAPL", "lq") | Earnings per share, last quarter |
=hf_ebitda("AAPL", "ly") | EBITDA, last year |
2. Balance Sheet
The balance sheet provides a snapshot of a company's assets, liabilities, and shareholders' equity at a specific point in time.
Key MarketXLS functions:
=hf_totalAssets("MSFT", "ly")
=hf_totalLiabilities("MSFT", "ly")
=hf_totalDebt("MSFT", "ly")
=hf_currentAssets("MSFT", "lq")
=hf_currentLiabilities("MSFT", "lq")
| Function | What It Returns |
|---|---|
=hf_totalAssets("MSFT", "ly") | Total assets, last year |
=hf_totalLiabilities("MSFT", "ly") | Total liabilities, last year |
=hf_totalDebt("MSFT", "ly") | Total debt, last year |
=hf_currentAssets("MSFT", "lq") | Current assets, last quarter |
=hf_currentLiabilities("MSFT", "lq") | Current liabilities, last quarter |
3. Cash Flow Statement
The cash flow statement tracks the actual cash entering and leaving the business.
=hf_freeCashFlow("GOOGL", "ly")
=hf_freeCashFlow("GOOGL", "lt")
Essential Valuation Ratios
Valuation ratios help you determine whether a stock is overvalued, undervalued, or fairly valued relative to its earnings, assets, sales, and cash flow.
Price-to-Earnings Ratio (P/E)
The most widely used valuation metric:
P/E = Stock Price / Earnings Per Share
=PERatio("AAPL")
=Last("AAPL")
=EarningsPerShare("AAPL")
| P/E Range | General Interpretation |
|---|---|
| < 10 | Potentially undervalued or declining business |
| 10 – 20 | Fairly valued for mature companies |
| 20 – 30 | Growth premium — market expects strong future earnings |
| > 30 | High growth expectations or speculative premium |
“Important: P/E ratios must be compared within the same industry. A P/E of 30 might be low for a high-growth tech company but high for a utility.
Price-to-Book Ratio (P/B)
P/B = Stock Price / Book Value Per Share
=PriceToBook("AAPL")
=BookValuePerShare("AAPL")
Useful for asset-heavy businesses (banks, real estate, manufacturing). Less meaningful for asset-light companies (software, services).
Price-to-Sales Ratio (P/S)
P/S = Market Cap / Revenue
=PriceToSales("MSFT")
=MarketCapitalization("MSFT")
=Revenue("MSFT")
Useful for companies that are not yet profitable, where P/E cannot be calculated.
Enterprise Value / EBITDA (EV/EBITDA)
=EnterpriseValue("AAPL")
=EBITDA("AAPL")
EV/EBITDA is preferred by many analysts because it accounts for debt levels and is not affected by depreciation policies.
Dividend Yield
=DividendYield("JNJ")
=DividendPerShare("JNJ")
| Yield Range | Interpretation |
|---|---|
| 0% | No dividend paid |
| 1 – 2% | Low yield (growth companies) |
| 2 – 4% | Moderate yield |
| 4 – 6% | High yield (income stocks) |
| > 6% | Very high — check sustainability |
Profitability Metrics
Profitability metrics reveal how efficiently a company converts revenue into profit.
Margins
=GrossMargin("AAPL")
=OperatingMargin("AAPL")
=ProfitMargin("AAPL")
| Metric | Formula | What It Shows |
|---|---|---|
| Gross Margin | (Revenue - COGS) / Revenue | Pricing power and production efficiency |
| Operating Margin | Operating Income / Revenue | Core business profitability |
| Net Profit Margin | Net Income / Revenue | Bottom-line profitability after all expenses |
Return Metrics
=ReturnOnEquity("AAPL")
=ReturnOnAssets("AAPL")
| Metric | Formula | Target |
|---|---|---|
| Return on Equity (ROE) | Net Income / Shareholders' Equity | > 15% is generally strong |
| Return on Assets (ROA) | Net Income / Total Assets | Varies by industry; higher is better |
Growth Metrics
Growth drives future earnings and valuation expansion.
=RevenueGrowth("NVDA")
=hf_revenue("NVDA", "ly")
=hf_revenue("NVDA", "2023")
To calculate year-over-year growth manually:
// Revenue growth = (Current Year Revenue - Prior Year Revenue) / Prior Year Revenue
=(hf_revenue("NVDA", "2024") - hf_revenue("NVDA", "2023")) / hf_revenue("NVDA", "2023")
Key Growth Metrics
| Metric | MarketXLS Function | Importance |
|---|---|---|
| Revenue Growth | =RevenueGrowth("TICKER") | Top-line expansion |
| Earnings Growth | Manual calculation from =hf_eps() | Bottom-line expansion |
| Free Cash Flow Growth | Manual from =hf_freeCashFlow() | Cash generation trend |
Financial Health Indicators
Liquidity Ratios
=hf_currentRatio("AAPL", "lq")
=QuickRatio("AAPL")
| Ratio | Formula | Healthy Range |
|---|---|---|
| Current Ratio | Current Assets / Current Liabilities | 1.5 – 3.0 |
| Quick Ratio | (Current Assets - Inventory) / Current Liabilities | > 1.0 |
Leverage Ratios
=hf_debtToEquity("AAPL", "ly")
=hf_totalDebt("AAPL", "ly")
| Ratio | Interpretation |
|---|---|
| Debt-to-Equity < 0.5 | Conservative financing |
| Debt-to-Equity 0.5 – 1.0 | Moderate leverage |
| Debt-to-Equity > 1.0 | Aggressive leverage — evaluate carefully |
Payout Ratio
=PayoutRatio("JNJ")
A payout ratio above 80% may indicate the dividend is unsustainable unless the company has very stable cash flows.
Building a Complete Fundamental Analysis Dashboard in Excel
Here is how to set up a comprehensive stock analysis template using MarketXLS:
Company Overview Section
| Row | Metric | Formula |
|---|---|---|
| 1 | Company Symbol | AAPL (manual entry in cell A1) |
| 2 | Current Price | =Last(A1) |
| 3 | Market Cap | =MarketCapitalization(A1) |
| 4 | Sector | =Sector(A1) |
| 5 | Industry | =Industry(A1) |
| 6 | 52-Week High | =FiftyTwoWeekHigh(A1) |
| 7 | 52-Week Low | =FiftyTwoWeekLow(A1) |
| 8 | Beta | =Beta(A1) |
Valuation Section
| Row | Metric | Formula |
|---|---|---|
| 9 | P/E Ratio | =PERatio(A1) |
| 10 | Price/Book | =PriceToBook(A1) |
| 11 | Price/Sales | =PriceToSales(A1) |
| 12 | EV/EBITDA | =EnterpriseValue(A1) / EBITDA(A1) |
| 13 | Dividend Yield | =DividendYield(A1) |
| 14 | Payout Ratio | =PayoutRatio(A1) |
Profitability Section
| Row | Metric | Formula |
|---|---|---|
| 15 | Gross Margin | =GrossMargin(A1) |
| 16 | Operating Margin | =OperatingMargin(A1) |
| 17 | Net Profit Margin | =ProfitMargin(A1) |
| 18 | ROE | =ReturnOnEquity(A1) |
| 19 | ROA | =ReturnOnAssets(A1) |
Growth Section
| Row | Metric | Formula |
|---|---|---|
| 20 | Revenue Growth | =RevenueGrowth(A1) |
| 21 | Revenue (Last Year) | =hf_revenue(A1, "ly") |
| 22 | Revenue (Year Before) | =hf_revenue(A1, "2023") |
| 23 | EPS (Last Quarter) | =hf_eps(A1, "lq") |
| 24 | Free Cash Flow | =hf_freeCashFlow(A1, "ly") |
Financial Health Section
| Row | Metric | Formula |
|---|---|---|
| 25 | Current Ratio | =hf_currentRatio(A1, "lq") |
| 26 | Quick Ratio | =QuickRatio(A1) |
| 27 | Debt-to-Equity | =hf_debtToEquity(A1, "ly") |
| 28 | Total Debt | =hf_totalDebt(A1, "ly") |
| 29 | Total Assets | =hf_totalAssets(A1, "ly") |
Historical Comparison Section
One of MarketXLS's most powerful features is the hf_ (historical fundamentals) function family with relative time references:
=hf_revenue("AAPL", "ly") // Last reported year
=hf_revenue("AAPL", "lq") // Last reported quarter
=hf_revenue("AAPL", "lt") // Last 12 months (trailing)
=hf_revenue("AAPL", "2024", "2") // Q2 2024 specifically
Build a multi-year comparison:
| Year | Revenue | Net Income | EPS | Free Cash Flow |
|---|---|---|---|---|
=hf_revenue(A1, "2022") | =hf_netIncome(A1, "2022") | =hf_eps(A1, "2022") | =hf_freeCashFlow(A1, "2022") | |
=hf_revenue(A1, "2023") | =hf_netIncome(A1, "2023") | =hf_eps(A1, "2023") | =hf_freeCashFlow(A1, "2023") | |
=hf_revenue(A1, "ly") | =hf_netIncome(A1, "ly") | =hf_eps(A1, "ly") | =hf_freeCashFlow(A1, "ly") |
The "ly", "lq", and "lt" parameters automatically update when the company files new financial statements, so your spreadsheet stays current without manual adjustments.
Comparison: Fundamental Analysis Methods
| Method | Focus | Best For | Key MarketXLS Functions |
|---|---|---|---|
| Value Investing | Low P/E, P/B; margin of safety | Patient investors seeking undervalued stocks | =PERatio(), =PriceToBook(), =DividendYield() |
| Growth Investing | Revenue/earnings growth rates | Investors seeking capital appreciation | =RevenueGrowth(), =hf_revenue(), =hf_eps() |
| Income Investing | Dividend yield and sustainability | Income-focused investors | =DividendYield(), =PayoutRatio(), =DividendPerShare() |
| Quality Investing | High ROE, margins, consistent earnings | Long-term holders | =ReturnOnEquity(), =GrossMargin(), =ProfitMargin() |
| GARP (Growth at Reasonable Price) | Growth + valuation balance | Balanced investors | =PERatio(), =RevenueGrowth(), =EarningsPerShare() |
Sector-Specific Fundamental Analysis
Different sectors require emphasis on different metrics:
| Sector | Key Metrics | Relevant MarketXLS Functions |
|---|---|---|
| Technology | Revenue growth, R&D spending, margins | =RevenueGrowth(), =GrossMargin(), =OperatingMargin() |
| Financials (Banks) | P/B, ROE, net interest margin | =PriceToBook(), =ReturnOnEquity() |
| Healthcare/Pharma | Pipeline, revenue growth, margins | =hf_revenue(), =ProfitMargin() |
| Consumer Staples | Dividend yield, margins, brand moat | =DividendYield(), =GrossMargin() |
| Energy | EV/EBITDA, debt levels, cash flow | =EnterpriseValue(), =EBITDA(), =hf_freeCashFlow() |
| Real Estate (REITs) | P/B, dividend yield, FFO | =PriceToBook(), =DividendYield() |
| Utilities | Dividend yield, payout ratio, debt | =DividendYield(), =PayoutRatio(), =hf_totalDebt() |
Common Mistakes in Fundamental Analysis
- Relying on a single metric: No single ratio tells the whole story. Always use multiple metrics across valuation, profitability, growth, and financial health.
- Ignoring industry context: A P/E of 25 is expensive for a utility but cheap for a high-growth tech company. Always compare within the same industry.
- Confusing earnings with cash flow: A company can report positive earnings while burning cash. Always check free cash flow alongside earnings.
- Ignoring the balance sheet: Revenue growth means nothing if funded by unsustainable debt. Check leverage ratios.
- Anchoring to historical averages: A stock trading below its 5-year average P/E may deserve a lower multiple if fundamentals have deteriorated.
- Neglecting qualitative factors: Management quality, competitive moat, regulatory environment, and industry trends all matter.
Step-by-Step Fundamental Analysis Process
Step 1: Understand the Business
Before looking at any numbers, understand what the company does, how it makes money, and what its competitive advantages are.
Step 2: Analyze the Income Statement
=hf_revenue("TICKER", "ly")
=hf_operatingIncome("TICKER", "ly")
=hf_netIncome("TICKER", "ly")
=GrossMargin("TICKER")
=OperatingMargin("TICKER")
=ProfitMargin("TICKER")
Look for consistent revenue growth, expanding margins, and growing earnings.
Step 3: Examine the Balance Sheet
=hf_totalAssets("TICKER", "ly")
=hf_totalLiabilities("TICKER", "ly")
=hf_totalDebt("TICKER", "ly")
=hf_currentRatio("TICKER", "lq")
=hf_debtToEquity("TICKER", "ly")
Ensure the company has adequate liquidity, manageable debt, and a solid asset base.
Step 4: Review Cash Flows
=hf_freeCashFlow("TICKER", "ly")
=hf_freeCashFlow("TICKER", "lt")
Free cash flow is often considered the most reliable indicator of financial health because it's harder to manipulate than earnings.
Step 5: Calculate Valuation Ratios
=PERatio("TICKER")
=PriceToBook("TICKER")
=PriceToSales("TICKER")
=DividendYield("TICKER")
=EnterpriseValue("TICKER") / EBITDA("TICKER")
Compare these ratios to industry peers and historical averages.
Step 6: Assess Growth
=RevenueGrowth("TICKER")
=hf_eps("TICKER", "ly")
=hf_eps("TICKER", "2023")
Calculate multi-year growth trends to distinguish between one-time gains and sustainable growth.
Step 7: Compare to Peers
Build a comparison table with 3–5 competitors:
| Metric | Company A | Company B | Company C |
|---|---|---|---|
=PERatio() | |||
=PriceToBook() | |||
=ReturnOnEquity() | |||
=GrossMargin() | |||
=RevenueGrowth() | |||
=DividendYield() |
Simply change the ticker symbol in each cell to populate the comparison automatically.
Historical Fundamentals With Relative Time References
One of MarketXLS's most valuable features for fundamental analysis is the ability to use relative time references in hf_ functions:
| Reference | Meaning | Example |
|---|---|---|
"ly" | Last reported year | =hf_revenue("AAPL", "ly") |
"lq" | Last reported quarter | =hf_revenue("AAPL", "lq") |
"lt" | Last 12 months (trailing) | =hf_revenue("AAPL", "lt") |
"2024" | Specific year | =hf_revenue("AAPL", "2024") |
"2024", "2" | Specific quarter | =hf_revenue("AAPL", "2024", "2") |
"2024", "2", "TTM" | TTM as of Q2 2024 | =hf_revenue("AAPL", "2024", "2", "TTM") |
Important: All quarterly values refer to calendar quarters (Q1 = January–March), not fiscal quarters. This standardization makes cross-company comparisons straightforward.
Spreadsheets using relative references ("ly", "lq", "lt") automatically update when new financial statements are filed, keeping your analysis current without manual intervention.
Fundamental Analysis Checklist
Before making any investment decision based on fundamental analysis, run through this checklist using MarketXLS:
Valuation Check
- P/E ratio compared to industry average:
=PERatio("TICKER") - Price-to-Book for asset-heavy businesses:
=PriceToBook("TICKER") - Price-to-Sales for pre-profit companies:
=PriceToSales("TICKER") - EV/EBITDA compared to peers:
=EnterpriseValue("TICKER")/=EBITDA("TICKER")
Profitability Check
- Gross margin trend stable or expanding:
=GrossMargin("TICKER") - Operating margin above industry average:
=OperatingMargin("TICKER") - ROE above 15%:
=ReturnOnEquity("TICKER") - Consistent earnings growth:
=hf_eps("TICKER", "ly")vs prior years
Financial Health Check
- Current ratio above 1.5:
=hf_currentRatio("TICKER", "lq") - Debt-to-equity manageable:
=hf_debtToEquity("TICKER", "ly") - Positive free cash flow:
=hf_freeCashFlow("TICKER", "ly") - Dividend sustainable (if applicable):
=PayoutRatio("TICKER")
Growth Check
- Revenue growing:
=RevenueGrowth("TICKER") - Earnings keeping pace with revenue:
=hf_eps("TICKER", "ly") - Free cash flow growing: compare
=hf_freeCashFlow()across years
This systematic approach ensures you never overlook a critical metric when evaluating stocks.
Fundamental Analysis for Different Investment Styles
For Dividend Investors
Focus on income stability and sustainability:
=DividendYield("KO")
=DividendPerShare("KO")
=PayoutRatio("KO")
=DividendFrequency("KO")
=hf_freeCashFlow("KO", "ly")
A sustainable dividend stock typically has a payout ratio below 70%, consistent free cash flow generation, and a history of maintaining or increasing dividends. Use =DividendFrequency() to verify payment schedules.
For Growth Investors
Prioritize revenue acceleration and margin expansion:
=RevenueGrowth("NVDA")
=GrossMargin("NVDA")
=OperatingMargin("NVDA")
=hf_revenue("NVDA", "lt")
=hf_revenue("NVDA", "2023")
Compare trailing 12-month revenue against prior years to identify acceleration or deceleration patterns. Growing revenue combined with expanding margins is the hallmark of a high-quality growth company.
For Value Investors
Screen for undervaluation relative to fundamentals:
=PERatio("INTC")
=PriceToBook("INTC")
=PriceToSales("INTC")
=BookValuePerShare("INTC")
=hf_freeCashFlow("INTC", "ly")
Value investors look for stocks trading below intrinsic value — low P/E, low P/B relative to peers, and positive free cash flow. The margin of safety concept requires buying at a significant discount to estimated fair value.
Frequently Asked Questions
What is fundamental analysis of stocks?
Fundamental analysis of stocks is the method of evaluating a company's intrinsic value by examining its financial statements, valuation ratios, profitability, growth trends, and financial health. The goal is to determine whether a stock is overvalued, undervalued, or fairly priced relative to its true worth.
What are the most important fundamental analysis metrics?
The most important metrics include P/E Ratio (=PERatio()), Return on Equity (=ReturnOnEquity()), revenue and earnings growth (=RevenueGrowth(), =hf_eps()), profit margins (=GrossMargin(), =ProfitMargin()), and debt levels (=hf_debtToEquity()). No single metric is sufficient — use a combination across valuation, profitability, growth, and health categories.
How do I perform fundamental analysis in Excel?
With MarketXLS, you can perform complete fundamental analysis in Excel using built-in formulas. Use =PERatio(), =MarketCapitalization(), =DividendYield(), and =Revenue() for current data, and =hf_revenue(), =hf_netIncome(), =hf_eps() for historical data. Build dashboards that update automatically when companies file new financial statements.
What is the difference between fundamental and technical analysis?
Fundamental analysis evaluates a company's intrinsic value using financial data (earnings, revenue, assets). Technical analysis studies price patterns, volume, and momentum indicators to predict future price movements. Many investors use both approaches — fundamental analysis for stock selection and technical analysis for timing.
How often should I update my fundamental analysis?
Review fundamental analysis quarterly when companies release earnings reports. The hf_ functions in MarketXLS with relative references ("ly", "lq", "lt") update automatically when new filings are available, reducing manual work significantly.
Can MarketXLS pull historical fundamental data?
Yes. MarketXLS provides the hf_ (historical fundamentals) family of functions that can pull quarterly, yearly, and trailing 12-month data from company financial statements. Functions like =hf_revenue(), =hf_netIncome(), =hf_eps(), and =hf_freeCashFlow() accept year, quarter, and relative time parameters.
Start Your Fundamental Analysis in Excel
Fundamental analysis of stocks becomes significantly more efficient when you can pull all the data you need directly into Excel. MarketXLS provides hundreds of fundamental data functions — from real-time price and valuation ratios to historical quarterly financials — all accessible through simple Excel formulas. Build custom analysis templates, compare multiple companies side by side, and track your portfolio's fundamental health over time.
Ready to power your fundamental analysis with Excel? Explore MarketXLS pricing and plans to get started with comprehensive stock data and analysis functions.