BlogReference

Google Sheets Functions for Maps: The Complete InstaMaps Reference

8 July 2026·9 min read

The "google sheets functions for maps" are custom formulas provided by the InstaMaps add-on. By typing =INSTAMAP(A2:B50) or =GEOCODE(C2:C100), you bypass Apps Script entirely. The add-on registers these functions directly into your spreadsheet's autocomplete, linking sheets to a live mapping environment.

This library is for logistics coordinators managing delivery batches, sales teams balancing territories, and property managers plotting portfolios. Instead of exporting CSVs to third-party software, you maintain one workbook where address parsing, coordinate calculation, and shareable map generation happen automatically.

TL;DR
  • InstaMaps provides 26 custom Google Sheets functions for maps, allowing you to process location data without leaving your spreadsheet.
  • The free tier permits 100 lookups per day, which increases to 1,000 daily lookups by registering a free email.
  • Formulas accept array ranges like =GEOCODE(A2:A50), calculating coordinates for entire columns simultaneously.
  • The =INSTAMAP() function generates a live, hosted URL that reflects spreadsheet edits in real-time.
  • Use =CLOSEST_TO() to assign new leads to existing coordinates, and =TERRITORY() to verify if points fall within specific boundaries.
  • A built-in sidebar (Extensions > InstaMaps > Enable formulas) writes entire formula chains via a Build-the-workflow button.

The InstaMaps function library in Google Sheets

InstaMaps installs as a free Google Sheets add-on that introduces a specific library of 26 mapping formulas. These formulas process text addresses, coordinates, and spatial boundaries directly in the spreadsheet grid. The core mechanic relies on array handling; rather than writing a formula to drag down 500 rows, you pass a range like A2:A500, and the results populate downwards automatically.

This library operates under specific daily lookup constraints to manage server loads. The free tier permits 100 lookups per day. Registering a valid email address through the add-on menu increases this limit to 1,000 lookups per day at no cost. A lookup occurs any time the add-on requests new data from the geocoding server, such as parsing a text string into latitude and longitude coordinates. Simple mathematical calculations, like measuring the distance between two already-geocoded points, do not consume daily lookups.

Master reference table: All Google Sheets functions for maps

InstaMaps provides 26 custom functions that replace manual API calls. To insert these without typing, open the sidebar via Extensions > InstaMaps > Enable formulas. The sidebar's Build-the-workflow button writes whole chains automatically, such as geocoding an address and immediately generating a =STREETVIEW_LINK() next to it.

| Function | Syntax | Realistic Example | |---|---|---| | =CITY() | =CITY(cell_range) | =CITY(A2:A50) | | =CLEAN_ADDRESS() | =CLEAN_ADDRESS(cell_range) | =CLEAN_ADDRESS(B2:B100) | | =CLOSEST_TO() | =CLOSEST_TO(target, search_range, return_range) | =CLOSEST_TO(D2, A2:A50, B2:B50) | | =COORD_CONVERT() | =COORD_CONVERT(cell_range) | =COORD_CONVERT(C2:C300) | | =COUNTRY() | =COUNTRY(cell_range) | =COUNTRY(A2:A10) | | =COUNTY() | =COUNTY(cell_range) | =COUNTY(A2:A10) | | =DISTANCE() | =DISTANCE(origin, destination, mode) | =DISTANCE(C2, D2, "driving") | | =DISTANCE_MATRIX() | =DISTANCE_MATRIX(origins, destinations) | =DISTANCE_MATRIX(A2:A10, B2:B10) | | =GEOCODE() | =GEOCODE(address_range) | =GEOCODE(A2:A200) | | =GEOCODE_IP() | =GEOCODE_IP(ip_range) | =GEOCODE_IP(E2:E500) | | =INSTAMAP() | =INSTAMAP(coord_range) | =INSTAMAP(C2:D50) | | =POSTCODE() | =POSTCODE(cell_range) | =POSTCODE(A2:A100) | | =REGION() | =REGION(cell_range) | =REGION(A2:A100) | | =REVERSE_GEOCODE() | =REVERSE_GEOCODE(coord_range) | =REVERSE_GEOCODE(C2:D50) | | =ROUTE_LINK() | =ROUTE_LINK(address_range) | =ROUTE_LINK(A2:A12) | | =SORT_BY_DISTANCE() | =SORT_BY_DISTANCE(range, origin) | =SORT_BY_DISTANCE(A2:A100, C2) | | =STATE() | =STATE(cell_range) | =STATE(A2:A100) | | =STREETVIEW_LINK() | =STREETVIEW_LINK(coord) | =STREETVIEW_LINK(C2) | | =TERRITORY() | =TERRITORY(coord, boundary) | =TERRITORY(C2, "Sales_Territories") | | =TOWN() | =TOWN(cell_range) | =TOWN(A2:A100) | | =TRAVEL_TIME() | =TRAVEL_TIME(origin, destination, mode) | =TRAVEL_TIME(C2, D2, "driving") | | =VISIT_ORDER() | =VISIT_ORDER(address_range) | =VISIT_ORDER(A2:A15) | | =WAZE_LINK() | =WAZE_LINK(coord) | =WAZE_LINK(C2) | | =WITHIN_RADIUS() | =WITHIN_RADIUS(coord, target, miles) | =WITHIN_RADIUS(C2, D2, 5) | | =ZIP() | =ZIP(cell_range) | =ZIP(A2:A100) | | =ZIPCODE() | =ZIPCODE(cell_range) | =ZIPCODE(A2:A100) |

Formulas adhere to standard Google Sheets behaviour. If you pass an array like A2:A50 into =GEOCODE(), the output fills B2:C50 automatically. The =INSTAMAP() function does not output numbers; it returns a live hosted shareable map URL that visually plots those coordinates and updates the moment the sheet changes. Navigation links follow official conventions. The =ROUTE_LINK() function uses Google Maps' official URL scheme, which enforces a strict maximum of 11 stops per link.

Processing bulk addresses with =GEOCODE()

Converting unstructured text addresses into geographic coordinates requires the =GEOCODE() function. We detail this specific mechanic in our google sheets geocode formula walkthrough. Here is the specific workflow for parsing columns:

  1. 1. Format your data. Ensure all target addresses reside in a single, contiguous column. For instance, place 49 addresses in cells A2 through A50.

  2. 2. Select the output cell. Click cell B2. This is where the array will anchor.

  3. 3. Enter the array formula. Type =GEOCODE(A2:A50). Do not drag the fill handle.

  4. 4. Press Enter. Google Sheets prompts you to authorise the add-on to run.

  5. 5. Review the output. The add-on populates columns B and C, splitting the result into latitude (B2:B50) and longitude (C2:C50).

  6. 6. Generate a visual output. Use the returned coordinates to generate a map. Type =INSTAMAP(B2:C50) in cell D2. This returns a live hosted shareable map URL displaying all 49 pins.

Worked example: Routing 5 crews across a 200-home farm

Consider a property maintenance company managing a portfolio of 200 homes. Each morning, the dispatch team receives 47 daily service requests. They operate 5 regional crews, each starting from a different depot. To assign these 47 stops efficiently without manual map checking, use spatial formulas to calculate the exact distance from each depot to the incoming requests.

1. Geocode the portfolio. Ensure the 200-home master sheet has coordinates. Use =GEOCODE(A2:A201) to generate latitude and longitude for all properties.

2. Geocode the depots. In a separate tab, list the 5 crew starting points and run =GEOCODE(E2:E6).

3. Calculate depot distances. With the 47 daily requests listed in rows 2 through 48, calculate the drive distance to the primary depot. In cell G2, enter =DISTANCE($E$2, C2, "driving"). Drag this formula down to G48.

4. Find the nearest depot. Instead of checking all 5 manually, use =CLOSEST_TO(). Enter =CLOSEST_TO(C2, DepotCoords, DepotNames) to return the exact name of the closest depot for that specific address.

5. Optimise the daily run. Crews cannot visit stops in a random order. If a crew is assigned 10 stops, list them in a column and use =SORT_BY_DISTANCE() to arrange the stops in the shortest driving sequence.

  1. Limits and honest alternatives: This setup calculates straight-line or basic drive distances, which ignores live traffic data. If a crew faces severe motorway congestion, the =TRAVEL_TIME() function provides a more accurate minute-based metric.

  2. For drivers who require turn-by-turn navigation, do not build custom routing in the sheet. Instead, use the =ROUTE_LINK() function on the optimised list. Remember that =ROUTE_LINK() uses Google Maps' official URL scheme, which strictly limits a single link to 11 stops maximum.

  3. For the 47-stop scenario, you must generate 5 separate route links, one for each crew. Pre-built templates for this exact dispatch workflow are available at get-instamaps.com/templates.

Generating live URLs and service boundaries

1. Select an empty cell outside your main data range, for example F2. 2. Enter the map formula: =INSTAMAP(A2:D200). The designated range must include your address or coordinate columns. 3. Press Enter. The cell populates with a hosted URL rather than an embedded image. 4. Click the generated URL. A browser tab opens displaying your 200 data points. 5. Modify a value in cell A50 or add a new row to A201. The hosted map processes the update automatically when the sheet recalculates. There is no manual refresh button.

To check if addresses fall inside operational boundaries, apply =TERRITORY(). If you manage a 5-crew delivery zone, use =TERRITORY(B2, "Manchester_Postcodes") where column B contains geocoded coordinates. The function outputs a boolean TRUE or FALSE. If a specific coordinate sits outside the assigned polygon, the cell outputs an exact #OUT_OF_BOUNDS error.

When dispatching drivers, generate navigation links using =ROUTE_LINK(A2:A12). Because this uses Google Maps' official URL scheme, the hard maximum is 11 stops (one origin, ten destinations). If your range mistakenly includes A13, the formula returns a #LIMIT_EXCEEDED error. For a 47-stop route, you must break the data into separate blocks: =ROUTE_LINK(A2:A12) and =ROUTE_LINK(A13:A23). The same logic applies to territory boundaries; defining polygon coordinates requires exact latitude and longitude pairs. If you pass a text string instead of coordinates into the boundary formula, it returns #INVALID_POLYGON. Always reference clean coordinate outputs from =GEOCODE() rather than raw address text when defining territory borders.

Typing exact function names into a spreadsheet leads to syntax errors. To prevent this, open the formula builder via Extensions > InstaMaps > Enable formulas.

The sidebar provides an autocomplete discovery tool. Begin typing "CLO" and the list filters to =CLOSEST_TO() and =COUNTRY(). Clicking a function inserts it directly into the active cell with the correct bracket formatting, prompting you to highlight your target ranges.

For multi-step operations, use the Build-the-workflow button. If you need to geocode 200 rows, measure distances, and filter by a 5-mile radius, the button writes the chained formulas automatically. It links =GEOCODE(A2:A200), =DISTANCE(), and =WITHIN_RADIUS() without requiring manual cross-referencing between sheets.

To see pre-built configurations for real estate farming or delivery routing, load the templates at get-instamaps.com/templates.

Limits and honest alternatives

InstaMaps is free, but processing constraints exist. The default tier provides 100 lookups per day. Registering an email address raises this ceiling to 1,000 lookups per day. If you attempt to process a 1,500-row spreadsheet using =GEOCODE(A2:A1500) on the standard tier, the function stops processing at the 1,000th row and leaves the remaining 500 cells blank without throwing a system error.

Routing constraints are dictated by Google Maps. Because =ROUTE_LINK() generates a standard navigation URL, the hard maximum is 11 stops per link. It cannot calculate a 47-stop lorry route in a single cell.

Google My Maps is a standard free alternative for visualising point data. However, My Maps requires manual CSV imports. If an address changes in your source data, the map remains stale until you manually delete the layer and re-import the file. InstaMaps updates the hosted URL via live spreadsheet formulas.

Paid geocoding APIs (like Smarty or Google's native Maps Platform) provide higher throughput (10,000+ daily lookups) and CASS-certified postal validation. If your workflow requires verifying Royal Mail delivery points, or processing 50,000 records daily at enterprise volume, you must pay for a dedicated API. InstaMaps focuses on standard mapping and distance math within standard sheet limits. Attempting to batch process 5,000 rows in a single =DISTANCE_MATRIX() call triggers a #TIMEOUT error due to Google Sheets' 30-second execution limit. Break massive datasets into 500-row blocks.

Who this is for

Who this is for: Regional sales managers, logistics coordinators, and local franchise operators who already manage their operations in spreadsheets. If you need to map 200 service calls and calculate drive times without learning QGIS or ArcGIS software, this tool fits your workflow.

Who should skip it: Dedicated GIS professionals and enterprise data scientists. If your environment requires custom raster layers, spatial SQL databases, or processing 100,000 points daily, InstaMaps lacks the architecture for heavy spatial analysis. It is a lightweight spreadsheet extension, not a replacement for a dedicated geographic information system.

Try it free

Map your Salesforce accounts in under 5 minutes — no admin setup.

Install Free →

Common Questions

What are the custom Google Sheets functions for maps?

InstaMaps provides a library of specific custom formulas covering everything from =GEOCODE() to =INSTAMAP() and =TERRITORY(). Once the add-on is active, these functions behave exactly like native sheets formulas. You can access them by typing an equals sign followed by the function name, which triggers the standard autocomplete dropdown. The library covers address standardisation, radius searches, distance matrices, and live URL generation.

How do I geocode multiple addresses in Google Sheets?

To geocode bulk addresses, use the =GEOCODE() function and pass an entire range rather than a single cell. For instance, typing =GEOCODE(A2:A500) will output latitude and longitude pairs for the entire column of 499 addresses into adjacent columns. The standard free tier processes 100 lookups per day, which increases to 1,000 per day with a free email sign-up. You can read our broader google-sheets-geocode-formula guide for specific edge-case handling.

How do I create a live map URL from spreadsheet data?

You generate a map by using the =INSTAMAP() function, pointing it at your coordinate or address ranges, such as =INSTAMAP(B2:C150). This formula returns a hosted URL in the cell that displays an interactive map centred on your data. Because it operates like a standard spreadsheet formula, the hosted map automatically updates whenever you edit, add, or delete rows in the source range. This completely bypasses the manual export process required by Google My Maps.

Can Google Sheets calculate distance between two coordinates?

Yes, the =DISTANCE() function calculates the straight-line mathematical distance between two coordinate sets. If you need driving distance or time instead, you use the =TRAVEL_TIME() or =DISTANCE_MATRIX() functions. For a 5-crew delivery fleet operating out of a 200-home neighbourhood, a formula like =DISTANCE(A2:B2, C2:D2) outputs the exact mileage. If you need to order a 47-stop route sequentially, the =SORT_BY_DISTANCE() function will rearrange the entire list based on proximity.

How many address lookups can I process for free per day?

The InstaMaps add-on is free, with a standard daily limit of 100 lookups per user. By completing a free email sign-up directly within the add-on interface, this capacity increases to 1,000 lookups per day. This quota applies specifically to API-heavy operations like =GEOCODE(), =REVERSE_GEOCODE(), and =DISTANCE_MATRIX(). If you are processing a large database, you will hit the limit, so process data in batches or check out alternatives like the local =COORD_CONVERT() formula which does not use the API.

How do I build a route link with multiple stops in Google Sheets?

Use the =ROUTE_LINK() function to construct a clickable navigation URL directly from your coordinate or address data. Because this formula relies on Google Maps' official URL scheme, it strictly supports a maximum of 11 stops per link. Alternatively, the =WAZE_LINK() function provides a similar deep link for users operating on the Waze navigation network. You can construct these links manually or by opening the sidebar via Extensions > InstaMaps > Enable formulas and clicking the Build-the-workflow button.

Add mapping formulas to your spreadsheets

Stop exporting CSVs to third-party software. Install InstaMaps to get custom formulas directly in your Google Sheets autocomplete.

Install InstaMaps free