HubSpot deals in a live spreadsheet
Add the Deals table to a sheet as a data source named deals and its 44 columns become names your formulas, pivot tables and charts use. Sheets reads it from your HubSpot account each time the sheet opens or refreshes.
Each account's columns are its own HubSpot properties, custom ones included. The columns listed here are HubSpot's standard properties; custom objects are tables too (Enterprise).
Formulas on this table
=data.deals.sum(amount) Total amount. Adds up the Amount column over every row of Deals.
=data.deals.sum(amount, deal_type, A2) Amount per deal type. With a deal type in A2, the total for that one. Fill it down next to a list of them.
=list.deals(deal_type) Every deal type, once. Spills the distinct deal type values down the column: the row labels for the formula above.
=data.deals.count(record_id, deal_type, "<>") Rows with a deal type. Counts the rows whose Deal type is not empty.
=data.deals.avg(amount_in_company_currency) Average amount in company currency. avg, min, max, count, countd (distinct) and first work the same way as sum.
Reports that use it
=data.deals.sum(amount, deal_stage, "Closed won") Won deal value. The amount of every deal in the Closed won stage. Stage names are the ones your pipelines show in HubSpot.
=data.deals.sum(amount, deal_stage, A2) Pipeline by stage. Put the stages in column A with =list.deals(deal_stage) and the deal amount per stage beside each one.
=data.deals.sum(amount, deal_owner, A2, deal_stage, "Closed won") Won deals per owner. Closed won amount per deal owner, by name. List the owners with =list.deals(deal_owner).
=data.deals.sum(amount, deal_stage, "Closed won", close_date, ">=2026-01-01") Won this year. Closed won amount with a close date since 1 January; change the date to compare periods.
=data.deals.sum(amount, company_country_region, A2) Deals by company country. Each deal carries its company's key fields, so deals group by the company's Country/Region without a lookup formula.
=data.deals.avg(amount, company_industry, A2, deal_stage, "Closed won") Average won deal per industry. Average closed won amount per industry of the deal's company.
Columns
| Column | In formulas | Type |
|---|---|---|
| Record ID | record_id | Text |
| Amount | amount | Number |
| Amount in company currency | amount_in_company_currency | Number |
| Close date | close_date | Date and time |
| Closed lost reason | closed_lost_reason | Text |
| Closed won reason | closed_won_reason | Text |
| Create date | create_date | Date and time |
| Days to close | days_to_close | Number |
| Deal description | deal_description | Text |
| Deal name | deal_name | Text |
| Deal owner | deal_owner | Text |
| Deal probability | deal_probability | Number |
| Deal stage | deal_stage | Text |
| Deal type | deal_type | Text |
| Forecast amount | forecast_amount | Number |
| Forecast category | forecast_category | Text |
| Is closed won | is_closed_won | Yes / no |
| Last activity date | last_activity_date | Date and time |
| Last modified date | last_modified_date | Date and time |
| Next step | next_step | Text |
| Pipeline | pipeline | Text |
| Priority | priority | Text |
| Weighted amount | weighted_amount | Number |
| Associated companies | associated_companies | Text |
| Associated company IDs | associated_company_ids | Text |
| Company ID | company_id | Text |
| Company: Company name | company_company_name | Text |
| Company: Company domain name | company_company_domain_name | Text |
| Company: Industry | company_industry | Text |
| Company: Country/Region | company_country_region | Text |
| Company: City | company_city | Text |
| Company: Number of employees | company_number_of_employees | Number |
| Company: Annual revenue | company_annual_revenue | Number |
| Company: Lifecycle stage | company_lifecycle_stage | Text |
| Company: Company owner | company_company_owner | Text |
| Associated contacts | associated_contacts | Text |
| Associated contact IDs | associated_contact_ids | Text |
| Contact ID | contact_id | Text |
| Contact: Email | contact_email | Text |
| Contact: Job title | contact_job_title | Text |
| Contact: Lifecycle stage | contact_lifecycle_stage | Text |
| Contact: Contact owner | contact_contact_owner | Text |
| Associated line items | associated_line_items | Text |
| Associated line item IDs | associated_line_item_ids | Text |
Other crm tables
Your deals, live
Contacts, companies, deals, tickets and activities become tables that formulas, pivot tables and charts read directly, opened inside HubSpot. Your numbers stay current without exporting.