The job

What a Google Sheets CRM template has to hold

The usual spreadsheet CRM is one tab: a name, a company, a phone number, a status, and a notes cell that grows a paragraph a month. It works until a client asks for a second project. Now there are two rows for one person, the notes disagree, and the status column cannot say “won the first job, quoting the second”. Then someone forgets to type the date of a call, and the list can no longer tell you who you have not spoken to in a month, which was the reason for keeping it.

A Google Sheets CRM template that lasts splits the work into three lists, the same split every CRM product makes underneath:

  • Contacts: one row per person, typed once.
  • Deals: one row per thing someone might buy, pointing at a contact by name.
  • Activities: one row per call, email or meeting, also pointing at a contact.

The contact name is the thread. As long as it is spelled the same way on all three tabs (a dropdown fed from Contacts makes sure of that), the sheet can answer the questions a CRM exists for: who needs a follow-up today, who has gone quiet with money on the table, and how much is open with each client.

The tabs

The three tabs and the columns each one needs

Keep each tab narrow. Every column you add is one more thing to fill in after a call, and a CRM that takes two minutes to update stops being updated.

A spreadsheet CRM, tab by tab 3 tabs
Tab Typed columns Worked out
Contacts A Name, B Company, C Email, D Owner E Last contact, F Open deals, G Open value
Deals A Deal, B Contact, C Stage, D Value, E Expected close, F Follow-up date Read by the follow-up list
Activities A Date, B Contact, C Type (call, email, meeting), D What happened Nothing: it is the log

Two rules make the rest work. Contact on Deals and Activities is a dropdown from the Name column, so a typo cannot start a new person. And the Activities tab only ever grows: you add a row after each conversation and never edit old ones. That log is what lets the sheet work out the last contact date instead of trusting someone to type it.

The formulas

Four formulas that turn the lists into a CRM

Last contact goes in column E of Contacts. MAXIFS returns the largest value in a range filtered by a condition, and the largest date logged against a name is the most recent conversation:

=IF(A2="","",IF(COUNTIF(Activities!B:B,A2)=0,"Never",MAXIFS(Activities!A:A,Activities!B:B,A2)))

Blank rows stay blank; “Never” if nothing is logged for that name yet; otherwise the latest activity date. Format the column as a date.

Formula reviewed 1 November 2026

Open deals and open value count and sum the deals that are neither won nor lost: =COUNTIFS(Deals!B:B,A2,Deals!C:C,"<>Won",Deals!C:C,"<>Lost") in F, and =SUMIFS(Deals!D:D,Deals!B:B,A2,Deals!C:C,"<>Won",Deals!C:C,"<>Lost") in G. Sort Contacts by G and your biggest open relationships sit at the top.

The quiet flag is a conditional formatting rule on Contacts with a custom formula: =AND($F2>0,ISNUMBER($E2),TODAY()-$E2>30), filled red. It catches the person with an open deal you have not spoken to in a month. Plenty of deals are lost not to a rival but to silence. There is a reason last contact lives on Contacts rather than being looked up inside the rule. Google’s conditional formatting help says custom formulas “can only reference the same sheet” unless you reach across with INDIRECT, so the rule reads columns E and F, which already sit on this tab.

Plenty of deals are lost not to a rival but to silence.

Follow-ups due is the list you open each morning, on its own tab: =IFERROR(FILTER(Deals!A2:B,Deals!F2:F<>"",Deals!F2:F<=TODAY(),Deals!C2:C<>"Won",Deals!C2:C<>"Lost"),"Nothing due"). It shows every open deal whose follow-up date is today or past, with the contact beside it. Keep every range starting at row 2: FILTER needs each condition to be exactly the same length as the range, and returns #N/A when nothing matches, which the IFERROR turns into a friendlier line.

A deal with no follow-up date never appears on that list, which is the one hole in the design. Sort Deals by column F now and then, and give anything blank a date or close it as lost. Stages, the weighted forecast and why lost deals are worth keeping are their own subject, covered in our sales tracker spreadsheet guide.

Excel

The same CRM template in Excel: one catch

Everything above works in Excel with the same tabs and the same formulas, so a CRM template for Excel is not a different design. The catch is the version. Microsoft lists MAXIFS for Excel 2019 and later and Microsoft 365, and FILTER only for Excel 2021, 2024 and Microsoft 365. On an older desktop copy the last contact column shows #NAME? and the follow-up list never fills. If anyone on the team runs Excel 2016, use Google Sheets instead, or replace the follow-up list with an autofilter on the Deals tab.

The other difference is sharing. A Google Sheet is one live file that two salespeople can update at once from a phone after a meeting. An Excel file emailed around becomes three versions by Friday, so if more than one person sells, keep the CRM in Sheets or in a shared OneDrive file, never as an attachment. If your team already lives in OneNote rather than a spreadsheet, our OneNote CRM template guide covers the notebook version.

Which one

CRM or sales tracker: which spreadsheet you need

The two get searched for interchangeably and do different jobs. A sales tracker is a list of deals: where each one is and what the month will bring. A CRM adds the people, so it can tell you who you owe a call and who has gone cold. If you sell to a handful of new customers a month and never twice to the same one, a deal list is enough. If clients come back, refer others, or take months to decide, you want the contacts and the activity log as well, which is exactly what a Google Sheets CRM template adds. Most small businesses that invoice the same clients repeatedly are in the second group; pair the CRM with a Google Sheets invoice template and the work from first call to paid lives in one place.

If you would rather start from a finished file, our Sales CRM & Pipeline Spreadsheet ($49, Google Sheets and Excel) is this design built out. Every deal is one row with a follow-up date, and a deal without one says “No date” until it gets one. Contacts pulls each person’s last contact from the Activities log and turns anyone quiet for 30 days with an open deal red. A Dashboard lists the follow-ups due and overdue, a Board lays the open deals out as a column per stage, and a Call Log holds the calls that have not become contacts yet. You get a blank copy and a filled example for each app, with a one-page Quick Start.

The Contacts tab of the Sales CRM and Pipeline spreadsheet: name, company, title, email, phone, source, owner, last contact, open deals and open value for each person
Contacts: last contact, open deals and open value are worked out from the other tabs.

Running a small business on spreadsheets rather than one? The CRM also comes inside our Small Business Operations Spreadsheet Kit, with the Project Tracker, Small Business Bookkeeping and the Cash Flow Forecast: all four for $129, against $186 bought one by one. Working alone, the Freelancer & Solopreneur Spreadsheet Kit swaps cash flow for quotes and a to-do list: five sheets for $129, against $195.

The limit

When a free CRM beats a spreadsheet

Price is not the reason to choose a spreadsheet, because HubSpot offers a free CRM, so be clear about what the sheet gives up. A spreadsheet logs nothing by itself: every email and call is a row someone types. It sends no reminders; the follow-up list only helps if you open it. And it has no permissions worth the name, so everyone who can edit a deal can edit all of them. If your team sends more email than it can log by hand, or a manager needs each rep to see only their own deals, dedicated software earns its setup time.

Below that line the sheet usually wins. There is nothing to learn, no import, no seat to add when someone joins, and the whole customer list is one file you own and can sort any way you like. Plenty of businesses never cross the line at all. The rest of our spreadsheet guides, from a to-do list template to budgets, are on the Google Sheets hub.

Whatever Google Sheets CRM template you build or buy, start the Activities tab on day one, even if it feels like overkill. It is the only part of the file that cannot be rebuilt later. Tell us in the comments which column you added that we left out; every business sells a little differently.

FAQ

Common questions, answered briefly

Can you use Google Sheets as a CRM?
Yes, for a small business or a solo seller. Keep three tabs, Contacts, Deals and Activities, linked by the contact name, and let formulas work out last contact, open deals and who is due a follow-up. It stops being enough when you need automatic email logging, reminders or per-person permissions.
What columns should a CRM spreadsheet have?
Contacts: name, company, email, owner, plus last contact, open deals and open value worked out by formula. Deals: deal, contact, stage, value, expected close and follow-up date. Activities: date, contact, type and what happened. Fewer columns keep it updated.
Does a CRM template work in Excel?
The same tabs and formulas work in Excel, but MAXIFS needs Excel 2019 or later and FILTER needs Excel 2021, 2024 or Microsoft 365, according to Microsoft. On older versions use Google Sheets. For a team, keep one shared file rather than emailed copies.
What is the difference between a CRM and a sales tracker?
A sales tracker lists deals and forecasts the month. A CRM adds contacts and an activity log, so it can show who needs a follow-up and who has gone quiet with an open deal. Repeat clients and long sales cycles need the CRM.

People also ask

Other questions, briefly answered

How do I forecast sales from a pipeline? How do I invoice clients from Google Sheets? What if my team keeps client notes in OneNote? What about a simple task list for one person?
Google MAXIFS: the largest value in a range filtered by criteria (checked November 2026) support.google.com Google FILTER function: condition length and the #N/A when nothing matches (checked November 2026) support.google.com Google Conditional formatting: custom formulas reference the same sheet only (checked November 2026) support.google.com Microsoft MAXIFS function: Excel 2019, 2021, 2024 and Microsoft 365 (checked November 2026) support.microsoft.com Microsoft FILTER function: Excel 2021, 2024 and Microsoft 365 (checked November 2026) support.microsoft.com HubSpot Free CRM software for small businesses (checked November 2026) hubspot.com