Google Sheets Query — a Powerful Tool for Data Analysis and Data Manipulation

DataOx
8 min readMar 10, 2021

Intro to Google Spreadsheet Query Function

At present, there is a growing need for data analysis and data manipulation in various spheres of our life.

If you have multiple datasets to filter, analyze or transform, you may be familiar already with and the filtering feature and simple functions like SUM, AVERAGE, COUNT, etc. However, it might not be enough to get all data analysis done neatly, and you risk getting your tables messy with numerous layers of filters and functions all over the place.

Being simple, the Google sheets query function is at the same time a powerful tool that may come in handy for your activities, whether they are for research or business purposes.

To help you use this powerful instrument right away just go on reading, check some beginner google sheets query examples we’ve prepared, and then proceed to more advanced functions.

Why Do You Need the Understanding of SQL for Google Sheets?

In fact, the query function of google sheets operates similarly to Structured Query Language, so SQL is referred to as the basis for learning how to access, manipulate and use big data.

The key reason to learn it is the fact that it’s widely used in databases, and chances are high your homegrown and managed database uses it as well. However, the foundational big data language you master should be supplemented with a profound study of google query sheets function. SQL with google sheets combined reveal a ton of opportunities to work with data that are otherwise impossible or complex.

Google query tool is powerful and versatile since a single QUERY does the job of many functions at a time and can replicate most features of pivot tables. With the help of a query statement, the function fetches specific data from a spreadsheet. So, it can by right be called a one-stop-shop for all your analytical, lookup, filtering, logical, counting, calculation, averaging, and sorting requirements.

Google Sheets QUERY Syntax

To start learning the query function, it’s necessary to master its components, the syntax of the query. Google documentation breaks the syntax of the function into 3 parameters. Thus, Google Sheets query contains data, query, and headers (optionally).

To get the outcome you need, you should write each parameter in the right place.

But, let’s first break the syntax down:

Data

Data — refers to the data set that is used for a certain Query.

It’s vital that the data type within the selected column is of the same type, otherwise, Google will determine the type of data prevalent and return the null value for the rest that does not match. By the way, it can only be numeric (figures, dates/time stamps), strings, or a boolean (true/false).

Query

Query — is the SQL part of the overall google sheets query where clauses are applied to define what should be retrieved as a result. We’ll explain the notion of clauses a bit later, but it’s essential to remember that the value of this component needs to be enclosed in quotation marks for Google to recognize the necessary criteria, it can refer to another cell if that one has quotes wrapping it, otherwise, Google will fail to interpret it.

Header

The header is an optional parameter that determines the number of rows being headers in your selected dataset. Keep in mind that if the header value is left blank, or set to -1, Google will either not consider a certain number of rows and recognize them as labels, or scan the information and estimate the number of rows that are header.

How to query google sheets examples:

=query(data!A2:Z900, "SELECT A, C, E, J, L", 2)

If we break this down parameter by parameter, we get: the information we need lives in the tab called data, in column A — Z and row 2–900.

query = "SELECT A, C, E, J, L",

It’s necessary to grab full columns of A, C, E, J, and L from the data. Important: “surrounded in quotes!”

headers = 2

It means that the second query row in google sheets of table data is a label for the data we extract, it should not be included with the rest of the data, but needs to be used as labels.

Looks quite simple, doesn’t it? So, you may wonder why to use the function of query and not refer to the data tab. As soon as you take up layering in data manipulation functions and clauses, everything shines bright immediately. So, having got acquainted with the syntax, you can proceed to the major part of your present study-the clauses. This is the secret ingredient that creates the unique value proposition of the query. So, let’s dig deeper into the clauses and their specifics.

Clauses in Google Sheets QUERY

A query won’t run without clauses, so it’s the core of the query that actually tells it what to do. As a result, you get the data you need.

In Google’s documentation, you can find a comprehensive table of all the clauses available:

It’s vital to remember that the clauses should be used in the order as they are enumerated in the table above, otherwise, you’ll get an error.

It may seem a bit confusing until practiced. Let’s turn back to our example:

=query(data!A2:Z900, "SELECT A, C, E, J, L ORDER BY L", 2)

The Google query like this will first select the data from the indicated columns and then sort it by a specific column value. In our example, the data will be ranked from the lowest to highest (by default) based on L column. In case you need to get your data sorted from the highest to the lowest volumes, you should add DESC to the Google sheets query ORDER BY.

Your query will then look the following way:

=query(data!A2:Z900, "SELECT A, C, E, J, L ORDER BY L DESC", 2)

Google sheets query where has rather a simple concept as well, it returns the rows of the Google sheet that meet a certain condition. The latter can be mathematical: <, >, >=, etc, or logical, containing string comparison operators: starts with, contains, ends with, and more.

=query(data!A2:Z900, "SELECT A, C, E, J, L, WHERE J CONTAINS "criteria" ORDER BY L DESC", 2)

With such a query you’ll get your data filtered as in the previous example, but get only the rows that match the indicated condition/criteria.

In case you often use the QUERY function there is a number of logical operations that help set conditions within the function. You can use the following:

Query Limit in google sheets

The LIMIT clause speaks for itself, it sets the limit for the rows in google sheets when the data is returned.

To limit the rows in the Google spreadsheet from our example, you should just put the LIMIT 10/15/25 as you need it.

=query(data!A2:Z900, "SELECT A, C, E, J, L, WHERE J CONTAINS "criteria" ORDER BY L DESC LIMIT 25", 2)"

Thus, you’ll get returned the 25 rows as ruled by query LIMIT for Google sheets you work with after it’s processed as in the previous query: selected, sorted, ordered.

Aggregation and Arithmetic Functions

The Google sheets query GROUP BY aggregates values for unique value combinations in the Google sheets GROUP BY clause, it helps to manipulate data more effectively. First, the function of aggregation intakes a specified column of values and performs the required action across all values in each group, if there are any, otherwise in each row. The aggregation functions are: sum, count, average, max, and min.

Then the scalar function sets in and operates over zero or a certain other parameter to return another value.

What is more, you can do the math in your query and use arithmetic operators for the purpose. You probably already guessed they are simple: +, -, *, and /, but you can as well create your own query formula in Google sheets.

In case you feel you need to know more about aggregation functions, it’s reasonable to study Google’s documentation, it provides context and plenty of examples for the purpose.

Complex QUERY functions

As you could already understand, the Google spreadsheet query allows not only simple arithmetic operations like multiplication and addition or the aggregation ones — calculation the average, for instance, but also complex QUERY functions for more complex tasks.

They can be like these:

  • Select, Sum, and Group by
  • Label and Sort
  • Select, Group by, Label and then Count
  • Limit and Order by

Pivot google sheets query

What is more, there is the pivot google sheets query clause that allows the users to build their own google sheets query pivot table according to the QUERY used. It’s a kind of more advanced usage of the function of query, but the more you use it, the more possibilities you will reveal.

Google Sheets Query for Multiple Sheets

There are cases when the query data in google sheets is spread across multiple tabs and sheets, still, the QUERY function can be used.

The key is to have the query data from Google spreadsheet in all the sheets in one format, then you should keep in mind to refer to columns not by the letter, but by the number: Col1, Col2, etc.

Finally, data ranges should be embraced in curly braces and separated with a semicolon. Tabs or sheets need to be indicated with an exclamation mark following the sheet name, and then the range of cells within the sheet should be identified. Though google sheets query for multiple sheets may be considered as one of the most complex functions to master, it’s well worth the time and effort if you need to manipulate data effectively.

Google Sheets Query a Workable Tool for Data Analysis

Google sheets query has proved to be an effective tool for data analysis, sorting, and manipulation. As a data scraping company DataOx, not only knows how to get big data from Google but also processes it to meet the requirements and needs of the client.

Working with Google sheets queries is one of our routines, and we can assure you the possibilities and the potential of this tool is great. You can not only fulfil simple operations but create your own query formula for Google sheets and work with big data spread over multiple tabs and sheets. You can master it all yourself or schedule a free consultation with our expert and decide how DataOx can help you with Google Sheets Data processing.

Originally published at https://data-ox.com on March 10, 2021.

--

--

DataOx

A web data scraping company with 5+ years of expertize, 100+ happy clients, 160 successful scraping projects completed, 20K sources crawled daily for customers.