• Technology
  • December 16, 2025

How to Remove Duplicates in Google Sheets: Complete Guide

Ever spent hours working on a spreadsheet only to realize half your entries are duplicates? I remember last month when I pulled sales data from three different platforms – the duplicate entries completely messed up my revenue report. Took me half a day to realize why the numbers didn't match. That's when I really dug into how to remove duplicates in Google Sheets properly. Let's fix this problem for good.

Why Duplicate Data Haunts Your Sheets (And How to Spot It)

Duplicates sneak into spreadsheets in sneaky ways. Maybe you imported data from multiple sources. Perhaps different team members entered the same customer twice. Sometimes it's just human error during manual entry. Whatever the cause, duplicate data causes real problems:

  • Skewed calculations in SUM or AVERAGE formulas
  • Inaccurate analytics and reporting
  • Mistakes in inventory counts or customer lists
  • Wasted storage space (yes, even in cloud sheets)

I once saw a client's mailing list with 300 duplicate emails. Their email service flagged them as spammers. Took weeks to resolve. Don't let that happen to you.

Warning Signs Your Sheet Has Duplicate Data

  • Totals seem higher than expected
  • Pivot tables show duplicate entries
  • VLOOKUP returns multiple matches
  • You spot identical rows when scrolling

The Built-in Duplicate Remover: Fast but Flawed

Google Sheets has a native tool for removing duplicates in Google Sheets. It's under Data > Data cleanup. Here's exactly how it works:

Step 1: Highlight your data range (include headers if you have them)
Step 2: Go to Data > Data cleanup > Remove duplicates
Step 3: Check the "Data has header row" box if applicable
Step 4: Select which columns to check for duplicates
Step 5: Click Remove duplicates and confirm

A notification will tell you how many duplicates were removed and how many unique values remain. Pretty straightforward, right? But here's the catch:

Big limitation: The tool permanently deletes duplicate rows without warning. There's no undo button after you confirm. I learned this the hard way when it wiped out 200 rows of good data because I forgot to uncheck a column.

When To Use the Built-in Tool

  • Working with simple lists (emails, product IDs)
  • When you need quick results without formulas
  • Dealing with small datasets (under 1,000 rows)
ProsCons
No formulas neededDestructive (permanently deletes data)
Simple interfaceNo preview before deletion
Fast processingLimited column selection options
Shows summary reportCan't customize which duplicate to keep

Formula Methods: More Control, Less Risk

When I need precision in how to remove duplicates in Google Sheets, I always turn to formulas. They give you more flexibility and don't destroy your original data.

The UNIQUE Function (My Personal Favorite)

The simplest formula approach:

=UNIQUE(A2:C100)

This creates a new duplicate-free list in another location. Pro tip: Always reference more rows than you need (like A2:C500 instead of A2:C100) to avoid missing new data.

Advanced Deduplication with QUERY

When you need to remove duplicates based on specific columns:

=QUERY(A2:C100, "SELECT A, B, C WHERE C IS NOT NULL GROUP BY A, B, C", 1)

This keeps only unique combinations of columns A, B, and C. The "GROUP BY" clause is what handles the duplicate removal.

Finding Duplicates Before Deleting

Want to identify duplicates without removing them? Use this in a new column:

=IF(COUNTIFS(A$2:A$100, A2, B$2:B$100, B2)>1, "Duplicate", "Unique")

This marks duplicates based on columns A and B. I use this weekly for client reports – lets me review duplicates before taking action.

FormulaBest ForLimitations
UNIQUE()Simple duplicate removalNo control over which duplicate is kept
QUERY()Complex criteriaSteeper learning curve
COUNTIFS()Identifying duplicatesRequires helper column

Handling Special Duplicate Scenarios

Not all duplicates are created equal. Here's how to handle tricky situations I've encountered:

Keeping the Latest Entry (Not the First)

The built-in tool always keeps the first occurrence. To keep the most recent:

  1. Add a timestamp column if you don't have one
  2. Sort your data newest to oldest
  3. Use =UNIQUE() or the built-in tool

Partial Matches and Fuzzy Duplicates

What if "Google LLC" and "Google, Inc." are the same company? The methods above won't catch these. You'll need:

  • TRIM() to remove extra spaces
  • CLEAN() for invisible characters
  • UPPER() or LOWER() for case sensitivity

For advanced fuzzy matching, try: =ARRAYFORMULA(VLOOKUP(SOUNDEX(A2), {SOUNDEX($A$2:$A$100), $A$2:$A$100}, 2, FALSE)) Note: This requires enabling Google Sheets' SOUNDEX function in script editor.

Duplicate Values Across Multiple Sheets

  1. Combine data with ={Sheet1!A2:C; Sheet2!A2:C}
  2. Apply UNIQUE() to the combined range
  3. Use COUNTIFS across sheets (more complex)

Duplicate Removal Power Tools

When native features aren't enough, these saved my projects:

Remove Duplicates Add-on (Free)

  • Install from Google Workspace Marketplace
  • Keeps first/last/most complete duplicate
  • Advanced matching options

Honestly? I find the interface clunky but it's great for one-off cleanups.

Google Apps Script for Automation

Create custom deduplication scripts that run automatically. Basic script example:

function removeDuplicates() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data"); const data = sheet.getDataRange().getValues(); const uniqueData = [...new Set(data.map(JSON.stringify))].map(JSON.parse); sheet.clearContents(); sheet.getRange(1, 1, uniqueData.length, uniqueData[0].length).setValues(uniqueData); }

Warning: Backup your data before running scripts! I once accidentally wiped an entire column because of a missing parenthesis.

Critical Mistakes to Avoid

After helping clients remove duplicates Google Sheets style for years, I've seen every possible mistake:

  • No backup: Always duplicate your sheet first (File > Make a copy)
  • Ignoring case sensitivity: "APPLE" and "apple" are different to Sheets
  • Forgetting trailing spaces: Use TRIM() first
  • Partial column selection: Missing key columns creates false duplicates
MistakeResultHow to Prevent
No header checkboxHeader row deletedDouble-check before confirming
Incomplete rangePartial deduplicationUse Ctrl+A (Cmd+A on Mac)
Ignoring formulasValues vs formulas duplicatesPaste as values first

Your Duplicate Removal Questions Answered

How to remove duplicates in Google Sheets without deleting rows?
Use =UNIQUE() in a new location. Your original data stays intact while the new range shows only unique entries.

Can I remove duplicates based on one column but keep other data?
Yes! The built-in tool lets you select specific columns. For formulas, use: =ARRAYFORMULA(VLOOKUP(UNIQUE(A2:A100), A2:C100, {1,2,3}, FALSE))

Why is Google Sheets not removing duplicates?
Common fixes:

  1. Check for trailing spaces (use TRIM)
  2. Ensure consistent data types (text vs numbers)
  3. Verify case sensitivity matches
  4. Check for hidden characters with CLEAN()

How to automatically remove duplicates?
Create time-based trigger with Apps Script:
1. Open Script Editor
2. Paste deduplication script
3. Set trigger to run daily/weekly

Best way to remove duplicates in large datasets?
For 100,000+ rows:
• Use Apps Script with hash arrays
• Process in batches
• Avoid formula-based approaches (they'll crash)

Proven Workflow for Duplicate-Free Sheets

After cleaning thousands of sheets, here's my battle-tested process:

Backup: Always duplicate the sheet first
Standardize: Apply TRIM, CLEAN, UPPER to all columns
Identify: Use COUNTIFS to flag duplicates
Review: Manually check flagged entries
Remove: Use UNIQUE() for non-destructive removal
Validate: Check totals against original

Time-saving tip: Create a "Cleanup" tab with all formulas referenced to your main data. Refresh anytime duplicates appear. I've set this up for monthly reports – saves 2 hours every cycle.

Keeping Duplicates Gone Forever

Eliminating duplicates isn't a one-time task. Here's how I maintain clean sheets:

  • Data validation rules: Prevent duplicates at entry with Data > Data validation > Custom formula: =COUNTIF(A:A, A1)=1
  • Version history: Check File > Version history if you accidentally remove good data
  • Scheduled cleanups: Set monthly reminders to run deduplication
  • Import checks: Add UNIQUE() wrapper to all IMPORTRANGE functions

Honestly, Google Sheets could improve its duplicate tools. The lack of non-destructive options is frustrating compared to Excel. But these methods work if you implement them carefully.

When All Else Fails

For datasets that just won't clean up properly:

  1. Export to CSV
  2. Use a text editor with advanced find/replace
  3. Re-import using File > Import
  4. Apply data validation immediately

Last resort? Try third-party tools like OpenRefine (free) or WinPure Clean & Match (paid). I avoid these unless dealing with 500,000+ records though.

Mastering how to remove duplicates Google Sheets style takes practice. Start with small datasets using the UNIQUE formula. Graduate to Scripts when you're comfortable. Your future self will thank you when reports are accurate and pivot tables actually make sense.

Comment

Recommended Article