This article is an overview of a feature that allows you to import an entire Google Sheets file as a new base, or import one into an existing base.
Create a new base from a Google Sheet
Starting from the Airtable home screen, select the option to “Add a base”, then “Import data”, and choose “Google Sheets”.
You can then select an existing Google Sheets account if you’ve already connected it to Airtable, or you can add a new one by following the prompts on screen. Once you’ve selected the account you can then select one of your Sheets.
Once you select the Sheet a new base will be created. Each sheet in your Google Sheet workbook will be converted to a table in your Airtable base. And, we’ll automatically try to convert data into Airtable field types.
You can rename the base and then open it to further customize it with Airtable fields, views, apps, scripts, and automations!
Add tables to an existing base from a Google Sheet
Importing a Google Sheet within an existing base follows the same process as above with a few minor changes. Starting from an open base, click the + button to the right of your list of tables, then select import data.
Next you’ll follow the same process of selecting Google Sheets, then a connected account, and choosing the Sheet you want to import. In the example below, we’ll import a list of tasks that relate to the already imported list of projects.
Once you select the Sheet, each sheet in your Google Sheet workbook will be added as a table in your opened Airtable base. And, we’ll automatically try to convert data into Airtable field types.
You can now further customize your information with Airtable fields, views, apps, scripts, and automations!
How data is converted from Sheets to Airtable
When you import a Google Sheet, each sheet in the workbook will be converted to its own table. The sheet name will be converted to the table name. For each sheet, the first row will be treated as field names (similar to our CSV import feature). If that row is empty, a fallback field name will be automatically generated.
Supported cell types and formatting
In Google Sheets, each cells can have a specific type which may or may not have a similar field type in Airtable. Our importer will make a best effort attempt to convert cells to the Airtable field counterpart. Below is an outline of how we handle various cell type conversions when you import a file into Airtable.
- If every data cell in the column is a number, the converted field type will be a number.
- If every data cell is an integer, the resulting number format is an integer. Otherwise, the resulting number format is a decimal whose precision is determined by the maximum fraction digits of the numbers in the cells.
- We only recognize US dollars ($) right now.
- A column containing values such as $123, $1,234, or ($1,234) will be converted to the Currency field type.
- A column containing values such as 2020-09-28, 09/28/2020, 09/28/2020 18:01, 2020-09-28 18:01 will be converted to Date field type.
- If any data cell in the column contains a time field, the resulting Date field type will contain a time portion.
- If every date cell value uses US date formatting such as 09/28/2020, the resulting Date format will be “Local”.
- If date cell values in the column use mixed date formats (for example, using both 09/28/2020 and 2020-09-28), the resulting Date format will be “ISO”. Unrecognized date formats will be converted to the ISO date format.
- Time-only cell values such 18:02 are not supported. If a column contains any of these, they will be converted to a Single Line Text field.
The type conversion operates on the computation result of the formula. The formula itself is not converted.
If data cells in the column follow one “convention” to represent true and false, the column will be converted to the Checkbox field. However, conventions cannot be mixed. If a column has both cell value “Y” and cell value “X”, then it is not considered a Checkbox field.Conventions are case insensitive and we support the following:
- “checked” / “unchecked”
- “yes” / ”no”
- “y” / “n”
- “1 checked out of 1” / “0 checked out of 1”
- “[x]” / “[ ]“
- “enabled” / “disabled”
- “on” / “off”
If every cell in the column is a comma-separated string, and does not contain any other punctuations, and no separated token is longer than 20 latin characters (note that it gets tricky with emoji or other language glyphs), and no separated token contain newline character, and no separated token is digits only, and no separated token is repeated multiple times in one cell, the field will be converted to a multi-select field.
Examples that will not be converted to a multi-select include:
- “foo, foo, bar” ← tokens repeated in one cell.
- “foo, bar.” ← punctuations other than the comma.
- “foo, , bar” ← contain one empty token.
- “fooooooooooooooooooooo, bar” ← a token that contains more than 20 latin characters.
- “foo bar, 123, baz” ← a token is digits only.
Google Sheets features 2 types of styling: cell-level styling and text-level styling. For example, you can select a cell and make it bold, and that will be cell-level styling. If you select a few characters in the cell and make it bold, this is text-level styling. If any cells in the column contain text-level styling and are not the first column, the column will be converted to a Rich Text field. Only some inline styles are supported, namely: bold, italic, and strikethrough.
If any cells in the column contain newline characters, the column will be converted to a long text field.
This is the fallback field type if the cells do not follow the rules above.