Quick answer: To sort Google Sheets without mixing rows, select the entire table, including every column that belongs to each record. Then use Data → Sort range → Advanced range sorting options, identify the header row, and choose the sorting column. Sorting only a selected email column can detach addresses from their websites.
Practical example & checks
A sorting test that protects the email-to-company relationship
Copy the following table to a new sheet. Select all three columns before using Data → Sort range → Advanced range sorting options.
| Company | Score | |
|---|---|---|
| Cedar | cedar@example.com | 30 |
| Birch | birch@example.com | 10 |
| Alder | alder@example.com | 20 |
Task: sort Score ascending, marking the first row as a header. Expected order: Birch/10, Alder/20, Cedar/30. Each email must stay with its original company.
Check all three pairs before using real data. A frozen header does not protect row relationships. If only the Score column moved, undo immediately and repeat with the full table selected. When you want a separate sorted view, place =SORT(A2:C4,3,TRUE) in a clear area or another tab and retain the source.
Original ThinkQuarry teaching material added 19 October 2026. Hypothetical examples are not product-test results.
A row is a record. In a contact table, the company, domain, email, verification date and notes describe the same item. A safe sort moves that complete record together. The difficulty usually comes from choosing the wrong range, not from alphabetical order itself.
Check the boundaries before you sort
Find the first and last rows of your table. Include notes and helper columns on the right, even if they are temporarily hidden. Exclude unrelated summaries below the data. If there is another table on the same tab, do not assume the entire sheet should move as one unit.
Duplicate the tab before a large cleanup. Add a record ID column if the table has no stable identifier. An ID gives you a way to compare before and after without relying on row numbers, which necessarily change during a sort.
| Record ID | Website | Reviewed | |
|---|---|---|---|
| C-101 | zeta.example | hello@zeta.example | 2026-10-01 |
| C-102 | alpha.example | team@alpha.example | 2026-09-25 |
After sorting by Website, C-102 should appear first, and its email should still be team@alpha.example. The record ID and address are a pair you can verify independently of position.
Sort a table in place
- Select the complete range, such as A1:D200.
- Open Data → Sort range → Advanced range sorting options.
- Enable Data has header row when the first selected row contains column names.
- Select Website and choose A to Z.
- Add another sort column if you need a tie-breaker, such as Reviewed from newest to oldest.
- Apply the sort and inspect a few known records.
Use real date values for chronological sorting. Text such as 01/02/26 can be ambiguous, and mixed text and dates can produce an order that looks plausible but is wrong. Standardize the dates before using them to choose the newest record.
Create a sorted copy instead
If collaborators depend on the source order, place a formula on another tab:
=SORT(Source!A2:D200,2,TRUE)
This sorts the source’s four-column range by its second column ascending. Add your own header row above the formula. Leave the output area empty so the result can expand. The formula creates a view; it does not rearrange the source table.
For an actively shared list, a filter view may also fit better than changing everyone’s working order. Choose your method based on whether you need to edit the source order, inspect a temporary view, or produce a separate export.
What to do if the addresses are already mismatched
If the wrong sort just happened, use Undo before making further edits. For older changes, review version history and compare with a known good version on a copy. Consider collaborators’ later work before restoring an entire shared file.
Do not try to fix a list merely by sorting the website and email columns separately into alphabetical order. Two independent orders do not establish which email belongs to which website. Use record IDs, original exports, contact-page sources or a known good version to reconstruct the relationship.
A short check before export
- Confirm the table contains the same number of records.
- Check at least one record near the top, middle and bottom.
- Verify that helper columns moved with their records.
- Make sure the header did not become an ordinary data row.
- Confirm any totals or formulas still reference the intended data.
Record counts detect missing rows, but they cannot prove the relationships are correct. Pair checks provide that second layer. A sheet with 200 rows can still contain 200 incorrect website-email combinations.
Common questions
Does freezing the first row protect the data?
Freezing helps you keep headers visible. It does not replace selecting the complete data range or telling the sort dialog that the table has headers.
Should I always sort the entire sheet?
Only when the tab holds one coherent table and all columns belong to it. A targeted range is safer when a tab also contains unrelated notes or summaries.
For the next cleanup step, see keeping the latest duplicate record and extracting email domains for review.
Sources and further reading
Prepared by ThinkQuarry. Documentation checked 3 October 2026. Menu labels may vary by version. Featured image: original AI-generated photographic concept created for ThinkQuarry. This editorial visual is not a product screenshot.



