Back to PostGrid Verify in Google Sheets
SheetXAI logo
PostGrid Verify logo
PostGrid Verify · Google Sheets Guide

Parse Unstructured Address Strings Into Columns in a Google Sheet

2026-05-14
5 min read

The Scenario

The CRM import is scheduled for Monday. You're a data analyst and someone handed you a Google Sheet with 500 address strings in column A — all in a single field, all entered by hand into a web form over the past quarter. The CRM requires separate street, city, state, and ZIP fields. You need to split every one of those strings into four clean columns before the import runs.

The bad version:

  • You write a formula to try to split on commas, but the strings aren't consistently formatted — some use two commas, some use one, some have apartment numbers that add extra commas.
  • You export the column to a text file and try a Python script, but the edge cases (PO boxes, rural routes, strings with no ZIP) break the parsing on about 60 rows.
  • You manually fix the broken rows one by one, copy the four output columns back into the sheet, and hope the CRM import field mapping matches what you ended up with.

Monday is two days away, and the CRM team wants the file by Sunday night.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the address strings, sends them through PostGrid Verify's parse endpoint, and splits the result into separate columns — handling edge cases without you having to anticipate them.

Parse each address string in column A using PostGrid Verify and write the street number, road name, city, state, and postal code into columns B, C, D, E, and F respectively.

What You Get

  • Column B receives the street number, column C the road name (street name and type), column D the city, column E the state abbreviation, column F the postal code.
  • Rows where PostGrid cannot parse the string are flagged rather than silently producing empty columns.
  • The original strings in column A are preserved.
  • Edge cases like PO boxes or apartment numbers are handled by the PostGrid parser, not by your formula.

What If the Data Is Not Quite Ready

Some strings are missing ZIP codes and need a lookup

Parse each address string in column A using PostGrid Verify — for any row where the postal code is missing from the string, attempt a city-state lookup from the parsed street and city to fill in the ZIP. Write all results into columns B through F.

Strings are on a different tab and need to land on the import tab

Parse all address strings in column A of the Raw Addresses tab using PostGrid Verify, split street number, street name, city, state, and ZIP into five columns, and paste the results starting at column B of the CRM Import tab. Preserve the row order.

Some strings are international addresses and need a different parse path

Parse each address string in column A using PostGrid Verify — for rows where the country appears in the string, use PostGrid's international parse endpoint. Write street, city, state or province, postal code, and country into columns B through F.

Full prep pass — clean the strings, parse them, flag anything incomplete

For each address string in column A: first normalize obvious formatting problems (extra spaces, missing comma before city), then parse with PostGrid Verify into columns B through F. Mark any row where parsing returns incomplete results with INCOMPLETE in column G. Write the count of incomplete rows into cell H1.

One prompt handles normalization, parsing, column placement, flagging, and summary count — rather than a formula, a script, and a manual review step.

Try It

Get the 7-day free trial of SheetXAI and open your raw address Google Sheet before the next CRM import, then ask it to parse and split the address strings into clean structured columns. For related workflows, see how to bulk-verify standardized addresses or enrich ZIP-only records with city and state.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more