SECSIFT formulas

SECSIFT formulas pull figures and tables from a company's filings into any cell, so your model reads straight from the source. Type =SECSIFT. in a cell to see the five formulas, or build one on the "Formulas" tab of the SECSift Excel add-in.

Build a formula

The "Formulas" tab writes a formula for you:

  1. Choose "Values", "Table", or "History".
  2. Search for the company, choose "Annual" or "Quarterly", and choose the filing.
  3. Choose the table, with the search, "Filter by item", and "AI table names" of the "Tables" tab. For "Values", also choose the line items and periods.
  4. Select the cell for the formula, then select "Insert Formula".

The formula shows under the settings as you build, with a button to copy the formula. "Show values in" sets the units, and "History" adds "Filings" and "Period order".

With more than one line item or period, "Values" inserts a grid at the selected cell, with line items down the side and periods across the top. Each cell of the grid holds a SECSIFT.VALUE formula that reads the labels in its row and column, and a grid holds up to 500 formulas.

A single formula replaces whatever the selected cell holds. A grid checks first, and offers "Write Over Them" when the cells the grid needs aren't empty.

The guides under the builder, like "SECSift Values Guide", show each formula's arguments with examples you can copy.

Company, filing, and table

Every formula starts with the same arguments:

  • company: A ticker or CIK, like "AAPL".
  • filing: The filing's accession number, or a fiscal label like "FY2025" or "Q3 FY2026". A label that starts with Q finds a 10-Q, or a foreign company's quarterly 6-K, and any other label finds an annual report. When a quarter has more than one 6-K, the quarter's label finds the newest, so name an older 6-K by its accession number. The "Formulas" tab does this for you.
  • table: The table's number in the filing, from SECSIFT.TABLES.

A quarter's label follows the company's fiscal year, so Apple's quarter ended June 27, 2026 is "Q3 FY2026". A label finds the original filing, not an amendment, and SECSIFT.FILINGS shows each filing's label.

A table's number belongs to its filing, so table 12 in one filing and table 12 in the next can be different tables. When you change a formula's filing, check the table's number with SECSIFT.TABLES.

SECSIFT.VALUE, SECSIFT.TABLE, and SECSIFT.HISTORY end with an optional units argument. "filed" (the default) keeps figures as printed, and "full", "thousands", "millions", or "billions" rescales amounts. Per-share amounts, counts, percentages, and rates stay as filed.

SECSIFT.VALUE

=SECSIFT.VALUE(company, filing, table, row, column, [units])

SECSIFT.VALUE returns one figure from a table, found by its row label and its period. The formula reads the table across the company's 12 most recent filings of that form, so a period from an older filing works too.

These two arguments find the figure:

  • row: The row's label as shown, like "Total net sales", or "Section > Label" when a label repeats, like "Cost of sales > Products". A number counts the rows from 1. Case, spacing, and a trailing colon don't matter.
  • column: A fiscal period like "FY2025", "Q3 FY2026", or "9M FY2026", the column's header as shown, or a number that counts the first figure column as 1. Styles like "FY25", "2025A", and "3Q26" work too, and so does a year like 2025.

Apple's total net sales for FY2025, as printed in millions:

=SECSIFT.VALUE("AAPL", "FY2025", 12, "Total net sales", "FY2025")

That returns 416161. Add "full" as the last argument for the full amount, 416161000000. Percentages come back as fractions, and text comes back as filed.

SECSIFT.TABLE

=SECSIFT.TABLE(company, filing, table, [units])

SECSIFT.TABLE returns a filing's whole table, as filed. The table spills into the cells below and to the right of the formula, header row first, so leave those cells empty. Figures come in as numbers, percentages as fractions, and blanks as empty cells.

Apple's FY2025 income statement:

=SECSIFT.TABLE("AAPL", "FY2025", 12)

SECSIFT.HISTORY

=SECSIFT.HISTORY(company, filing, table, [filings], [order], [units])

SECSIFT.HISTORY returns a table across the company's filings of the same form, with each period once. The history holds the filing you name and the company's most recent other filings of that form, and spills like SECSIFT.TABLE.

These two arguments shape the history:

  • filings: How many filings to merge, from 2 to 20. The default is 8, and more than 12 costs 2 API calls.
  • order: "oldest" (the default) runs the periods left to right in time, "newest" runs them the other way, and "filed" keeps each filing's own order.

Apple's income statement across its 10 most recent 10-Ks:

=SECSIFT.HISTORY("AAPL", "FY2025", 12, 10)

SECSIFT.TABLES

=SECSIFT.TABLES(company, filing)

SECSIFT.TABLES lists every table in a filing, with columns for each table's number, title, section, and units. Use the list to find the number the other formulas take.

SECSIFT.FILINGS

=SECSIFT.FILINGS(company, [form], [count])

SECSIFT.FILINGS lists a company's filings, newest first, with columns for each filing's fiscal label, form, filing date, period end, and accession number.

These two arguments choose the filings:

  • form: A form like "10-K" or "10-Q". Leave form out for the company's default filings list.
  • count: How many filings, from 1 to 200. The default is 12.

Errors

A formula that can't answer shows one of these errors. Hover over the error flag on the cell with your cursor to see the reason:

  • #N/A: SECSift has nothing to return, like a filing, row, or column that isn't there, a cell that's blank in the filing, or an add-in that's signed out.
  • #VALUE!: An argument is malformed, like a table number that isn't a whole number, or units the formula doesn't know.
  • #BUSY!: SECSift is preparing a filing for the first time. The cell fills in on its own, and the bottom of the task pane shows how many of the table's filings are ready. The cell gives up with #N/A when 4 minutes pass without a filing becoming ready.

When formulas update

The add-in keeps each answer for 10 minutes, and cells that ask the same question share one answer. Selecting "Refresh this workbook" (circular arrow icon) at the top of the pane gets fresh answers for every SECSIFT formula in the workbook.

API calls

Formulas use your daily API calls:

  • Each different answer costs 1 call, and cells that read the same table share that call.
  • A fiscal label costs 1 more call, to look up the company's filings. An accession number skips the lookup.
  • SECSIFT.HISTORY with more than 12 filings costs 2 calls.
  • Waiting while SECSift prepares filings is free. SECSIFT.VALUE and SECSIFT.HISTORY cost their calls once, when every filing is ready.

Note: SECSIFT formulas update only in an Excel that has the add-in, signed in to an Analyst or Pro account. To share figures with someone who doesn't have the add-in, import the tables instead, since imported tables are plain values.