Report Period (Historical) Formula in Excel

The Report Period (Historical) formula in Excel with MarketXLS provides quick access to a company's reported period (e.g., annual or quarterly) based on specified years, quarters, and trailing twelve months (TTM) settings. This function empowers analysts, investors, and finance professionals to seamlessly integrate financial reporting period data into their spreadsheets for deeper insights.

Understanding Report Period (Historical)

Use the Report Period (Historical) function to:

  • Retrieve the exact period covered by a company’s financial statements.
  • Compare and analyze different reporting periods (e.g., quarter-over-quarter or year-over-year).
  • Automate fundamental data extraction and reduce manual copy-paste efforts.

Key benefits include:

  • Automation: Easily pull in the desired reporting period data for multiple symbols simultaneously.
  • Time-Saving: Cut down on researching and referencing each company’s filings.
  • Accuracy: Ensure consistent use of reporting periods in your financial models or dashboards.

Syntax and Parameters

Below is the syntax for using the hf_Report_Period function in Excel:

=hf_Report_Period(Symbol, year, [quarter], [TTM])
Parameter Description Required Example
Symbol The ticker symbol (stock, index, option, crypto). Yes "MSFT", "^SPX", "@MSFT 110122C00020000", "BTCUSD:DEFAULT"
year The financial year. Accepts numeric values (e.g., 2022), special keywords such as ly (last year), or patterns like ly-1. Yes 2022, "ly-1", "lq", "lt-2"
quarter The calendar quarter, from 1 to 4. Optional if looking for annual data. Accepts special keywords like “lq” (last quarter). No 1
TTM Set to "TTM" to indicate trailing twelve months data or leave blank otherwise. No "TTM"

?? Note: If no valid data is available or the symbol is invalid, the function will return "NA".

The function returns the reporting period (e.g., “2022-06-30” for Q2 2022) as a string.

Examples and Usage

Below are various ways to call the hf_Report_Period function:

  1. Using a regular symbol for a specific year:

    =hf_Report_Period("MSFT", 2022)
    • Returns the reporting period for Microsoft in 2022.
  2. Including the quarter parameter:

    =hf_Report_Period("MSFT", 2022, 2)
    • Returns the Q2 2022 reporting period for Microsoft.
  3. Fetching trailing twelve months for a quarter:

    =hf_Report_Period("MSFT", 2022, 3, "TTM")
    • Retrieves the TTM period ending with Q3 2022 for Microsoft.
  4. Using special keywords for “last quarter” and “last year”:

    =hf_Report_Period("MSFT", "lq")
    =hf_Report_Period("MSFT", "lq-1")
    =hf_Report_Period("MSFT", "ly")
    =hf_Report_Period("MSFT", "ly-1")
    =hf_Report_Period("MSFT", "lt")
    =hf_Report_Period("MSFT", "lt-1")
    • These variations return dynamic historical periods, such as last quarter, last year, or last twelve months offset.
  5. Date inputs can also be passed using:

    • Cell references (e.g., =hf_Report_Period(A2, B2))
    • Direct dates (e.g., =hf_Report_Period("MSFT", "2024-03-15"))
    • Excel date functions (e.g., =hf_Report_Period("MSFT", TEXT(A2,"yyyy-mm-dd")))

? Pro Tip: Combine these functions with your existing Excel formulas or references to automatically adjust reporting periods based on user inputs or calculations.

Common Questions

1. What does the function return if the quarter is omitted?

If you omit the quarter, the function defaults to annual data for that year. For instance, =hf_Report_Period("MSFT", 2022) returns the annual reporting period for 2022.

2. Why do I get “NA” as a result?

“NA” appears if:

  • The symbol doesn’t exist or is not supported by MarketXLS.
  • There’s no matching data for the specified year/quarter.
  • Your plan subscription level doesn’t include historical fundamentals.

3. Are there any performance considerations?

Yes. Large spreadsheets with many calls to hf_Report_Period might take time to refresh due to data fetching. To optimize performance:

  • Limit the number of cells using these functions.
  • Use calculation modes and refresh selectively.
  • Ensure your data subscription is valid and stable.

4. Can I use this function for indices, options, or cryptocurrencies?

Absolutely. You can pass symbols like ^SPX, EMC style options such as @MSFT 110122C00020000, and crypto pairs like "BTCUSD:DEFAULT".

5. How does MarketXLS handle special notations like “ly”, “lq”, or “lt”?

• “lq” references the most recent quarter for which data is available.
• “ly” references the most recent annual period.
• “lt” references trailing twelve months data.
You can also do offsets (e.g., “lq-1”, “ly-1”, “lt-1”) to step back additional periods.

?? Note: Using these special parameters requires a valid historical fundamentals subscription in MarketXLS.


For further historical fundamental data, check out these related functions:

  • Revenue (Historical)
  • Cost Of Revenue (Historical)
  • Gross Profit (Historical)
  • R & D Expenses (Historical)
  • Selling General and Administrative Expense (Historical)