The Scenario
Every Monday morning the logistics team gets a fresh export from the fleet tracking system: 600 rows, each with a latitude and longitude captured from a delivery truck's GPS. The weekly route accuracy report needs street addresses, not coordinates. Last week the analyst who normally handles the conversion was out sick, so the export sat untouched until Wednesday, the report was late, and the operations director asked why.
The bad version:
- Paste coordinates into a reverse geocoding tool row by row, or write a Python script to loop through the Geoapify API and wait for it to finish.
- Export the results to a separate file, then do a VLOOKUP to rejoin them to the original sheet by row index — and discover that three rows didn't come back in the same order.
- Manually fix the mismatched rows, reformat the address output so it matches the report template's expected column structure, then re-export.
The route accuracy report is supposed to go to operations by noon. Every minute spent on data plumbing is a minute not spent on the analysis the report actually requires.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your coordinates, calls Geoapify's reverse geocoding API for each row, and writes the resulting addresses back — without leaving the sheet.
For each row in this sheet, reverse geocode the lat/lon from columns A and B using Geoapify and write the street address, city, and postcode into columns C, D, and E
What You Get
- Column C receives the formatted street address for each coordinate pair.
- Column D receives the city name.
- Column E receives the postcode.
- Rows where the reverse geocoder returned no match are marked in column F so you can investigate the GPS point rather than assuming the column is complete.
What If the Data Is Not Quite Ready
Coordinates are stored as a single "lat,lon" string in one column instead of two separate columns
Split the coordinate string in column A into separate lat and lon values, reverse geocode each pair with Geoapify, and write the street address, city, and postcode into columns B, C, and D
Some rows have coordinates outside the expected delivery region and should be excluded
Reverse geocode the lat/lon pairs in columns A and B with Geoapify — skip any row where the returned country is not US or Canada, flag those rows in column F, and write street address, city, and postcode for valid rows into columns C, D, and E
The sheet has duplicate GPS points from the same stop being pinged multiple times
Deduplicate the coordinate rows in columns A and B — keep only the first occurrence of each unique lat/lon pair, reverse geocode them with Geoapify, and write the results into columns C, D, and E
Reverse geocode the coordinates, normalize address casing, and flag any stops outside the expected metro area
Reverse geocode every lat/lon in columns A and B with Geoapify — convert all returned addresses to title case, write them into columns C through E, and flag in column F any row where the returned city is not in the list on the Cities tab
One prompt handles the cleaning, the enrichment, and the exception-flagging together.
Try It
Get the 7-day free trial of SheetXAI and open your GPS export — whether it is a fleet tracking download, a field survey file, or a drone waypoint log — and ask it to reverse geocode the coordinates. See also the sibling spoke on batch geocoding addresses, or return to the Geoapify hub.
