Here are a couple of Google Sheets features I sometimes find myself telling people about, and which often trigger a "oh wow, I wish I knew about this years ago" reaction.
## It's easy to import data from public URLs
If there's a table or list of data on a public web page somewhere, it's really easy to get that data into a Google Sheet. You just need the IMPORTHTML() function [^1].
E.g. the following gets COVID-19 cases by UK region:
```
=IMPORTHTML("https://www.gov.uk/government/publications/coronavirus-covid-19-number-of-cases-in-england/coronavirus-covid-19-number-of-cases-in-england", "table")
```
If there's a CSV at a public URL somewhere, you can get the data into your sheet:
```
=IMPORTDATA("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv")
```
[^1]: https://support.google.com/docs/answer/3093339?hl=en
## You can write custom functions that run whatever code you want
You can write custom functions in Google Sheets [^2].
Some illustrative examples:
a. CLEARBIT([email address]): get data from Clearbit enrichment API based on email address.
b. MIXPANEL([email address], [traits]): get user traits or event data from Mixpanel based on email address
c. IS_NEWSLETTER_SUBSCRIBER([email address]): return true/false according to whether this person is a newsletter subscriber in MailChimp.
d. MD5([email address]): run a numerical function (e.g. a hash algorithm) that's difficult to express in native Google Sheets syntax.
e. DO_ACTION([params]): do some action e.g. send an email or send an event. Often Zapier is better for this sort of thing, but not always.
[^2]: https://developers.google.com/apps-script/guides/sheets/functions
## There's a Google Analytics integration
The Google Analytics Google Sheets add-on is useful for creating reports based on Google Analytics data in Google Sheets. You can also schedule reports to run on a daily/weekly/monthly basis, so it's handy for making dashboards based on Google Analytics data.
Details here:
https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on
## The "protected range" feature helps prevent mistakes
The “Protected range” feature lets you define a range then specify (a) who should be allowed to edit it and (b) whether a warning should be shown when edits are made.
Find it in the “Data > Protected sheets and ranges” menu.