A CRM excel template is a spreadsheet laid out like a simple customer database: one row per contact, fixed columns for who they are, where the relationship stands and what happens next. Building a CRM in Excel or Google Sheets takes about an hour. Turn the list into a table, add drop-downs so everyone records status the same way, remove duplicates before you start, and highlight every row whose next step is due. It works well for one person and a few hundred contacts. It breaks when a second person edits it, or when you need every email and call on the record.

The Toolkit take
1 row
One row per person, with a next step and a date, is the whole method
About an hour
To build the template from scratch
Email
The column to check for duplicates
2nd editor
The usual point where the sheet starts losing data

What a spreadsheet CRM needs before you type a name

Most homemade contact lists fail for the same reason. They start as a list of names and phone numbers, then grow a column every time someone has an idea. Six months later nobody knows which column is current. Decide the structure first. A good client management excel template answers four questions for every row: who is this, how do I reach them, where do we stand, and what is the next step and when. Everything else is optional.

Keep these columns, in this order:

Column What goes in it Why it matters
Contact ID A number you never reuse Lets you find and update one row safely
Name, Company, Role Plain text Who you are dealing with
Email, Phone One of each per row Email doubles as your duplicate check
Source Drop-down: referral, website, event, cold outreach Shows where good clients come from
Status Drop-down: lead, prospect, active client, past client One shared vocabulary
Owner Drop-down of team names Who is responsible for this person
Last contact Date When you last spoke
Next step, Next date Short text and a date The follow-up that keeps the deal alive
Notes Short, dated entries The context you will forget

The next date column is the heart of it. A contact list template without one is an address book. With one, it becomes a to-do list sorted by customer.

How to build a CRM excel template, step by step

Excel is enough. These steps use features that ship with Excel for Microsoft 365, Excel 2024, 2021, 2019 and 2016, and most also work in Excel for the web.

  1. Type the headers from the table above in row 1, then paste or type your existing contacts below them.
  2. Turn the range into a table. Select a cell inside your data, choose Home > Format as Table, pick a style, confirm the range in the Create Table dialog and tick the box that says your table has headers [1]. New rows now inherit formatting, and each header gets a filter button.
  3. Make a Lists sheet. On a second sheet, type the options for Status, Source and Owner, each in its own column. Format each list as a table too, so adding an option later updates every drop-down.
  4. Add the drop-downs. Select the Status cells, go to Data > Data Validation, set Allow to List and point Source at your status list. Repeat for Source and Owner.
  5. Remove duplicates before you go further. Copy the sheet first as a backup. Then, with a cell in the table selected, choose Data > Remove Duplicates and leave only the Email column ticked. Move rows with an empty Email cell to another sheet first: blank cells match each other, so all but one of those rows would be deleted. Microsoft warns that the whole row is removed when a match is found, including columns you did not select [2].
  6. Highlight what is due. Select the table rows, open Home > Conditional Formatting > New Rule, choose a formula rule and enter =AND($L2<>"",$L2<=TODAY()), with L as your Next date column. Overdue follow-ups turn a color you pick.
  7. Freeze the header row so names and dates stay readable as the list grows.
💡
Toolkit tip
Keep drop-down options on one sheet

A separate Lists sheet formatted as a table means one edit updates every Status, Source and Owner drop-down.

Two habits make the Excel version last. Sort by Next date every morning and work from the top. And never add a column without adding it to the Lists sheet or the table first, so the structure stays shared rather than personal.

The Google Sheets CRM version, for sharing

A Google Sheets CRM is the same design with one advantage: it lives online, so a partner or assistant can open the current version without anyone emailing files. If you prefer a crm google sheets template, build the columns once, then use File > Make a copy whenever you need a fresh one.

  1. Create the columns from the table above and type or paste your contacts.
  2. Add drop-downs. Select the Status cells, then click Insert > Dropdown (or Data > Data validation > Add rule). Under Criteria, choose Dropdown and type each option, or choose Dropdown from a range to use your Lists sheet [3]. By default, an entry that does not match the list is rejected. Leave it that way.
  3. Highlight due dates. Select the data, open Format > Conditional formatting, choose Custom formula is, and use the same rule as in Excel.
  4. Flag duplicates. Add a second conditional formatting rule with =AND($E2<>"",COUNTIF($E:$E,$E2)>1), where E is the Email column. Duplicate addresses light up so you can merge them by hand.
  5. Protect the structure. Click Data > Protect sheets and ranges, add the header row and the Lists sheet, then choose Restrict who can edit this range [4]. Google is clear that protection is not a security measure: people with access can still copy or export the file.
⚠️
Watch out
Protection is not security

Protected ranges in Google Sheets stop accidental edits, but anyone with access can still copy or export the file. Share only with people you trust.

Keep editors few. Share the file with edit access only for people who update records, and view access for everyone else. That keeps the number of hands on the data small, which matters more than any formula.

An example: cleaning up a 120-row contact list

Here is an illustration with round, invented numbers. A home renovation contractor keeps clients in three places: a phone, an old Excel file and an email inbox. She exports all three into one sheet and gets 120 rows.

First she moves the 9 rows with no email to a second sheet, because Remove Duplicates treats empty cells as matching each other. Running Remove Duplicates on the Email column of the other 111 rows leaves 99. Twelve rows were the same people entered twice. She checks the 9 email-less rows by phone number, merges 4 of them into existing contacts by hand and pastes the other 5 back. That leaves 104 unique contacts. Now the list is honest.

She then fills Status for every row. 18 are active clients, 31 are past clients, and 55 are leads who asked for a quote at some point. Next, she gives every lead a Next step and a Next date, even if the step is ask if they still want the deck rebuilt. The overdue highlight shows 22 rows on the first morning. That is her week.

The point of the example is the order. Clean first, then add structure, then add dates. Adding drop-downs to a list full of duplicates only produces neatly formatted duplicates. For the bigger picture of what a customer database should hold, our guide to the customer database covers the method.

💡
Toolkit tip
Date every note

Start each Notes entry with the date, newest first, so the cell reads like a short history instead of a single overwritten line.

When a spreadsheet CRM stops working

The free version has a ceiling, and the signs are concrete. You will feel one of these before you can name it.

For one owner with a few hundred contacts, none of these hurt much. For a team of three or more, or for any business where clients are handed between people, they cost sales. That is the point to move the same columns into a CRM. Your spreadsheet is not wasted: it becomes the import file.

Three products cover this job on a free plan for a small team:

HubSpot Solves this

Import your spreadsheet with email as the unique identifier for contacts (domain for companies), so re-imports update existing records instead of duplicating them; blank cells in the file never clear values already stored. Contacts, companies, deals and tickets then live in one CRM.

Where it stops: More than 2 users means a paid plan. Plan: Free
Zoho CRM Solves this

Contact management with data import and export is on the Free edition, so the spreadsheet columns move straight in; on Standard, Gmail and Outlook integration ties emails and meetings to the record.

Where it stops: Free is for up to 3 users; Gmail and Outlook integration starts on Standard. Plan: Free
Freshsales Solves this

Contacts and accounts, import and two-way email sync are on the Free plan, so emails land on the contact record instead of in a Notes cell.

Where it stops: Free is for up to 3 users; automatic deduplication (Freddy smart matches) starts on Pro. Plan: Free

The import step is where most moves go wrong. HubSpot matches imported rows on a unique identifier, such as email for contacts, so a re-import updates records instead of creating copies. Zoho CRM is worth a test import of your real records on the Free edition before you commit, to see how many duplicates and empty fields you bring along. For a side-by-side of every option, see our guide to contact management software.

Frequently asked questions

Is there a free CRM excel template I can download?+

Many exist, but a template you build from the column list above fits your business better and takes about an hour. Start with fewer columns; you can always add one later.

Excel or Google Sheets: which is better for a spreadsheet CRM?+

Both have tables, drop-downs and conditional formatting. Google Sheets is easier when two or three people need the current version online; Excel suits a single owner working mostly offline.

How many contacts can a CRM in Excel handle?+

The file itself holds far more rows than a small business needs. The real limit is people: once several editors and a long history of conversations pile up, the sheet stops being reliable.

Can I move my contact list template into a CRM later?+

Yes. Save it as CSV, keep email as the unique key, and import it. Clean duplicates first, because a CRM imports whatever mess the sheet contains.

The bottom line

A CRM in Excel or Google Sheets is a real system if you build it with intent: fixed columns, drop-downs for status and owner, duplicates removed by email, and a highlighted next date on every row. That setup costs nothing and teaches you exactly what your business needs to track. Keep it until a second person edits it daily or you start losing the history of conversations. Then carry the same columns into a CRM, import with email as the unique key, and let the reminders and email logging happen on their own.

Sources
  1. [1] Microsoft Support (Nov 2026) https://support.microsoft.com/en-us/office/create-and-format-tables-e81aa349-b006-4f8a-9806-5af9df0ac664
  2. [2] Microsoft Support (Nov 2026) https://support.microsoft.com/en-us/excel/get-started/filter-for-unique-values-or-remove-duplicate-values
  3. [3] Google Docs Editors Help (Nov 2026) https://support.google.com/docs/answer/186103
  4. [4] Google Docs Editors Help (Nov 2026) https://support.google.com/docs/answer/1218656