Back to DaData.ru in Google Sheets
SheetXAI logo
DaData.ru logo
DaData.ru · Google Sheets Guide

Standardize and Geocode Russian Delivery Addresses in a Sheet

May 13, 2026
4 min read
See the Excel version →

The Scenario

You are a logistics coordinator at a delivery company. The routing system upload is due at 2 PM. You have a Google Sheet with 1,200 raw customer addresses scraped from order forms over the past month.

The routing system requires structured input: postal code, region, city, street, house number, and GPS coordinates in separate columns. What you have is a single column of free-form strings — some with postal codes, some without, some with abbreviations the system will not accept.

The slow version of this afternoon:

  • Write a regex to pull postal codes (fails on 30% of rows)
  • Look up the failures manually on the DaData web interface
  • Try to reconcile the coordinates from a separate geocoding tool
  • Spend 40 minutes reconciling mismatches between the two tools
  • Upload at 1:58 PM with 63 rows still showing "INVALID ADDRESS" in the routing system

The fast version is one prompt and the structured file is ready before lunch.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your spreadsheet that passes each address to DaData's standardization and geocoding endpoint and writes the parsed components back into separate columns.

Open the SheetXAI sidebar and type:

For each address string in column A, use DaData to standardize it and parse it into components. Write the postal code into column B, the region into column C, the city into column D, the street into column E, the house number into column F, the latitude into column G, and the longitude into column H. If DaData cannot parse an address, write "UNRESOLVED" in column B and leave the rest blank.

SheetXAI reads column A, calls DaData's address cleaner and geocoder for each row, and writes all seven component columns back. One prompt, one pass, structured output ready for the routing system.

What You Get

Seven new columns filled with DaData-standardized components for all 1,200 rows:

  • Column B — postal code in standard Russian format
  • Column C — region (oblast, krai, republic)
  • Column D — city or settlement
  • Column E — street name in FIAS-standardized form
  • Column F — house number
  • Column G — latitude
  • Column H — longitude

"UNRESOLVED" rows are explicit and filterable. You know exactly which addresses need manual review before the upload.

What If the Data Is Not Quite Ready

Real delivery address data has layers of problems beyond format variation. SheetXAI handles them in the same prompt.

When some addresses are missing a city

Some scraped addresses have a street and house but no city — just a region.

For each address in column A, pass it to DaData's address cleaner. If DaData infers a city from context, write it to column D. If no city can be determined, write "CITY MISSING" in column D so the dispatcher can fill it in manually.

When you need FIAS-level precision, not just a postal code

The new routing system requires the FIAS GUID for each address, not just the human-readable components.

Parse each address in column A using DaData and write the FIAS house GUID into column I and the FIAS street GUID into column J, alongside the standard postal code, region, city, street, and house columns (B through H).

When addresses are in mixed Russian and transliterated formats

Some customers submitted addresses in Latin transliteration from a non-Russian keyboard.

For each address in column A, normalize any transliterated Latin characters back to Cyrillic before passing to DaData. Then write the parsed postal code, city, street, and house to columns B, C, D, and E.

When you need the full pipeline: raw addresses plus a quality report for the ops team

You need the parsed columns and a summary so the operations manager can see how clean the batch was before signing off on the upload.

Parse each address in column A using DaData and write postal code, region, city, street, house, latitude, and longitude into columns B through H. Then write a summary table below the data: total rows, number of fully resolved addresses, number of UNRESOLVED rows, and the three most common regions in the dataset.

The pattern: the address parsing and the reporting happen in the same prompt. You walk into the 2 PM meeting with the upload file and the quality summary already done.

Try It

Get the 7-day free trial of SheetXAI and open any sheet with Russian delivery addresses, then ask it to parse and geocode them with DaData. The DaData integration is included in every SheetXAI plan. For related workflows, see how to reverse-geocode GPS coordinates to addresses or the DaData in Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more