Blog

How To Set Default Values For Cells In Google Sheets

In this post, you’ll learn how to set default values for cells in Google Sheets, without using Google Apps Script code.

In the Sheet below, the cells in column B have default values of 100, 25, and 10 respectively. If a user types in a value (e.g. 200) it overwrites the default value. If a user deletes whatever value is in the cell already, then the default value of 100 is displayed again.

Default Values for cell in Google Sheets

Setting Default Values For Cells In Google Sheets

The key to make this technique work is to use Array Literals to create a formula which spills into the adjacent cell. This is a rather abstract concept, so let’s run through an example.

In a blank Sheet, write the value “Input” in cell A1. In cell B1, type this formula:

={"",100}

Your Sheet will look like this:

Default Value Setup Google Sheet

Try typing 200 in cell C1, over the top of the 100.

Cell C1 will show the 200, but cell B1 now displays a #REF! error.

Now, delete the value you just typed in cell C1. The error message disappears and the default value of 100 is displayed again.

Default cell Google Sheets

Finally, hide column B so that the #REF! error is never seen, and you have a default value of 100 set for cell C1.

Hidden column default value Google Sheets

🎩   Hat tip to my friend Scott Ribble for showing me this ingenious solution.

Advanced Default Values Without Hidden Column

The method above suffers from one drawback though: it necessitates a hidden column.

However, we can use a clever circular formula to address this.

In a new blank Sheet, add this formula in cell A1:

=IF(ISBLANK(B1),{"Input",100},"Input")

Initially, you may see this error message about a circular error (i.e. a formula that references itself):

Circular Error in Google Sheets

That is a problem, but we fix it by switching on iterative calculations and restricting them to a single iteration from the menu:

File > Settings

Go to “Calculation”.

Set “Iterative calculation” to “On” and the “Max number of iterations” to 1.

(The threshold can be left at 0.05 because it doesn’t apply in this case.)

Iterative Calculation Google Sheets

Now, you can enter any value you want in cell B1 and if you delete it, the default value of 100 will be shown.

How Does This Work?

The IF function checks whether cell B1 is blank.

If it is blank, then it outputs the array literal:

{"Input",100}

which displays “Input” in cell A1 and the value 100 in cell B1.

However, if cell B1 already has a value then the IF function output is just the string “Input” in cell A1.

Note: default values are not limited to numbers. It could be text, an image, or even another formula.

Default Values Checkbox Example

You can use default values to check or uncheck checkboxes. Here’s a cool illustration of how to create a select all checkbox in Google Sheets, using deafult values.

Thanks to one of the readers in the comments below for sharing this solution.

Default Values Formulas To Mimic Radio Buttons

Another interesting use case for these default values is to mimic radio buttons with formulas and checkboxes.

Radio button behavior with checkboxes and formulas

Column A contains array literal formulas that ensure a user can only select a single checkbox at a time.

2021 In Review And A Look Forward To 2022

First hike of 2022!
Ringing in 2022 with a family hike

This is Annual Review number seven!

I wrote the first annual review in the year my eldest son was born. He’ll be 7 this year. How time flies!

As always, I’m super grateful that I get to write this because it means I’m still working for myself and building this business for another year.

Let’s begin with a review of 2021:

Did I Meet My 2021 Goals?

2021 was of course the second year of the pandemic, so once again, work hours were more limited than normal, and there was an undercurrent of stress throughout the year.

Overall though, from a work perspective, 2021 was a great year.

I had my best year of revenue to date, of which 95% came from course sales. I launched and ran two amazing cohorts of my live Pro Sheets course, created one new online course, and finished updating my course catalog.

Outside of work, I finally saw (most of) my UK family again at the very end of 2021, after over two years of nothing but video calls. These few weeks with my UK family were a highlight of the year.

Aside from that, we had lots of great family adventures locally and I did tons of great hiking in our local mountains.

All in all, 2021 was a good year given the circumstances.

Each year, I take the goals that I wrote down at the beginning of 2021 and see how I fared:

2021 Work Goals

  • Run 3 cohorts of the new live cohort based course Pro SheetsYes, and no. I ran two cohorts!
  • Run SheetsCon 2021 in March – No, I realized early in 2021, with the pandemic ongoing, that I didn’t have the bandwidth to do this and create the new cohort course, so I paused SheetsCon for 2021.
  • Improve the SEO and site speed of benlcollins – Yes, and no. I did improve both, but there’s still work to do.
  • Publish 30 long-form blog posts – Not quite… I published 26 posts.
  • Publish a comprehensive guide to REGEX in Google Sheets – Yes, here it is.
  • Hit 60k newsletter subscribers – No, my list growth plateaud in the second half of 2022 and I finished the year around 45k subs.
  • Send a Google Sheets tip email every week for the next year – Yes, I sent my Google Sheets tips newsletter every Monday 🙂
  • Create one new on-demand video course – Yes, I created a dedicated REGEX course.
  • One technical project, related to Sheets/Apps Script/Data in some way. – Yes, I wrote a script to control my home Nest thermostats. I worked on a few other project ideas but didn’t complete them.

Other 2021 Goals

  • See my UK family! – Yes, finally, after 2+ years 🙂
  • Have another healthy year – Yes, thankfully
  • Exercise regularly: 4 hike or bikes each week, 2 yoga/strength – Yes, although I’ve no idea if I reached this cadence and frankly, it doesn’t matter. I felt like a did a solid amount of outdoor exercise. Yoga fell off my radar from Q3 onwards and I didn’t do as much biking as I’d hoped but I did a lot more hiking than I’ve ever done!
  • Go camping again! I used to do a lot of camping trips but it’s been a few years since I last went 🙁 – Technically, yes, because I managed 1 night, but not as much as I’d hoped, haha! Bring on 2022.
  • Take my boys out on lots of adventures and camping trips. – Yes, plenty of adventures, but only one camping trip
  • Read 30 books (same target as 2020) – No, and I need to lower my expectations 😉 I read 18 books in 2021

2021 Highlights

Let’s look at the highlights from 2021:

1) Pro Sheets

My biggest work goal for the year was to launch a live cohort training course, called Pro Sheets. I ran two cohorts in 2021, in April/May and November/December, and it was a hugely rewarding and enjoyable experience.

Pro Sheets is a 5-week long, live, online training course where we meet 3 times a week for instruction around data analysis and automation with Google Sheets and Apps Script.

I had 37 students in the first cohort and 42 students in the second cohort, which was a huge success.

Pro Sheets community

Running a cohort course is an enormous amount of work so I want to say thanks to a number of folks who helped me along the way:

  • Billy Broas’ Keystone Accelerator program in January was a huge help.
  • Jenny Sauer-Klein’s Scaling Intimacy training in February, which was really helpful for me in figuring out how to run successful and immersive online experiences
  • Katey, my wonderful teaching assistant for both cohorts
  • Jo, my amazing assistant behind the scenes who helps run my business

For a sense of what Pro Sheets is all about, have a listen to what the students from the first cohort had to say:

In 2022, I plan to run at least one more cohort of Pro Sheets — cohort 3 — and implement a number of improvements. Looking forward to this!

2) Other Online Courses

At the beginning of the year, I finally finished updating all my courses after re-recording the Automation With Apps Script course.

Over the summer, I created one new online video course:

This year I launched my guide to the powerful Google Sheets REGEX functions: The Google Sheets REGEX Formula Cookbook:

Google Sheets REGEX formulas cookbook

This course was a real joy to create, as it was technically interesting to research and teach.

3) Google Sheets Tips Newsletter

I sent my weekly Google Sheets newsletter every Monday, except for Christmas week.

It’s the backbone of my business and I love receiving responses from readers each week.

I plan to write a newsletter every week again this year.

4) Website Content

As you’ll see below, my website gets a mention under the challenges section of 2021 too.

But it’s still been a great year, although new post creation slowed down in the second half of the year.

This year, my favorite posts to research and write were:

5) Non-Work Highlights

Lots of non-work highlights this year, mostly on our local trails.

Undoubtedly THE highlight of the year was seeing my UK family again. From the surprise visit of my brother from Australia to the epic hikes we did together (3 peaks, Raven Rocks), and the joy of Christmas with grandparents reunited with grandkids, it was a wonderful three weeks!

Another highlight of the year was the summer road trip that Lexi, me, and the boys took around our home state of West Virginia. We did a big clockwise loop around the State, taking in the mountains, the new National Park, cute towns, cabins in the woods, and lots of history. It was a memorable way to spend 3 weeks this summer when most other options were still off the table because of the pandemic.

Other specific highlights that stand out from the year are all local adventures:

My brother Pete and me on the Appalachian Trail
My brother Pete and me on the Appalachian Trail
Lexi and me at White Rock overlook on the Appalachian Trail
Lexi and me at White Rock overlook on the Appalachian Trail

Challenges In 2021

It goes without saying that the ongoing coronavirus pandemic continued to be the major challenge of the year. Staying safe and sane, whilst growing the business and running a household, was one long risk-assessment-and-schedule-juggling-nightmare. But we got through it, and somehow came out the other side fitter, healthier, and in a better place than we were at the beginning of 2021.

I’m relieved to not have a “health” subheading under the challenges of 2021. Let’s see if I can keep it that way in 2022.

Of course, most of the challenges of 2021 were related to navigating covid, but there were a couple of big work challenges too:

Website Traffic Decline

This year, I’ve decided to list my website under “Challenges” as well as “Highlights”.

Yes, I did publish 26 posts in 2021 and my overall traffic figures were similar to 2020 (over 2 million unique visitors to this site and nearly 4 million page views!).

But… since the summer, when the traffic peaked at over 400k pageviews and 255k users a month, it has steadily declined back to around 200k pageviews/month. I believe this is partly because the frequency of my posts decreased, some of my popular posts are getting old (and thus losing ranking spots), and there’s much more competition in the Google Sheets space now than there ever has been.

benlcollins web traffic

Email List Growth Plateau

My goal at the beginning of 2021 was to hit 60k newsletter subscribers. A lofty goal to be sure, but not impossible.

I missed it and ended the year on around 45k subscribers.

So I’m keeping this same 60k goal for 2022 and dedicating more time to email list growth this year.

My email list grew at a steady clip for the first nine months of the year but plateaued for the last three months. I believe this is due to a combination of decreasing web traffic (see above) and higher unsubscribes during a couple of months where I did a lot of course launches (the additional sales emails result in higher unsubscribe rates for a short period).

Email List Growth

One of my big challenges for 2022 is to figure out how to grow my audience (see more below).

Other Challenges

Well, not really a challenge as such, but I really missed not attending any in-person conferences this year. The Google Next conference online is not a patch on the in-person event. I thoroughly enjoyed my trips to San Francisco in 2018 and 2019 and felt inspired for months afterward. Fingers crossed Next can happen in-person again this year!

Looking Forward To 2022

I’m excited and hopeful for 2022.

I’m hopeful that we’ll see an end to this wretched pandemic, although I thought this last year and look where we are (record cases! Thanks, Omicron! 😡)

With each passing year, I gain a better understanding of my business. What works and what doesn’t. Which levers make a difference and which ones don’t.

I’ve realized that growing my business boils down to two main levers: i) growing my email list, and ii) creating more courses.

With that in mind, my goals in 2022 are directly in line with increasing one or both of these levers. If I run a marketing campaign that results in hundreds or thousands of new subs, then that will correlate with increased revenues down the line. Similarly, if I can create great new courses for my existing audiences then I can increase my revenue.

2022 Work Goals

In no particular order:

  1. Create 3 new video courses (the first of which will be a dedicated QUERY function course 🤩)
  2. Run cohort 3 of Pro Sheets
  3. Send my Google Sheets Tips newsletter every Monday
  4. Hit 60k newsletter subscribers

That’s it.

You’ll notice that I’m not setting a goal for posts published this year or other technical projects etc. I’m sticking to fewer, bigger goals. Goals that fall into my two buckets of i) list growth, and/or ii) new courses.

Other 2022 Goals

  1. Complete a century bike ride (100 miles). It’s been a few years since my last century rides and I miss those long days out on the bike.
  2. Twelve challenge walks (walks that start and/or finish at home and are a challenge by virtue of their length or difficulty)
  3. Family trip to the UK this summer
  4. Have another healthy year
  5. 10 nights camping this year (at the very least, I want to beat the low target of 1 from last year!)
  6. Read 20 books
  7. Weekly brainstorming hike with my wife

2022 Plan

My plan this year is to be super-efficient with my time and ruthless with what projects I pursue.

My approach is to block my time by day. Previously, I’ve blocked my time into hour blocks, but eventually, the whole system breaks down and merges into one soup of activities with a large amount of associated context switching costs. This year, I want to stick to this weekly schedule as closely as possible and for as long as possible (provided it works!).

I’m sure it will help me get more done in the same or less amount of time.

So, Monday and Tuesday will be reserved for work on new courses.

Wednesday will be my admin and miscellaneous day, where I get stuff done.

And Thursday and Friday will be dedicated to marketing and list growth.

The simplicity of this approach is deeply appealing to me too.

2022 plan

Thank You

If you’ve read this far, thank you!

Thank you for being a supporter of my work. Thank you for being part of this weird little corner of the internet where I continue my mission to create the world’s best resources for learning Google Sheets and data analysis.

Best wishes to all of you for 2022!

Finally, a huge thank you to my wife, Alexis Grant, who has been my biggest supporter from day 1. I couldn’t do this without you!

Previous years

Three Benefits Of Cohort-Based Courses

The world of online education is very different today than it was 10 years ago.

We now live in an age of information abundance, with all of human knowledge only a click away.

And that means we can shift the focus of online courses from information-heavy lectures to a community-driven learning environment with interactive sessions, collaboration, and shared knowledge.

And right now, accelerated by the pandemic, community-driven online courses are having their moment in the sun.

Online creators are seeing incredible demand for their live courses. Top-tier VC firms are investing in companies that facilitate these live, cohort-based courses.

Here are three reasons why these cohort-based courses are the best way to learn:

1. Cohort-Based Courses Hold You Accountable

Cohort based course group

Hands up if you’ve bought an online course with good intentions, but then never got past the introduction video?

Yup! Guilty as charged…

I kid myself that I’ll get around to it one day, but, like all of us, life is busy.

What is there was a different way?

There is!

Join a cohort-based course — like Pro Sheets — and you learn with other people, at scheduled times, with defined and manageable goals.

Turns out that we’re not very good at making and, crucially, keeping promises we make with ourselves. Even if we start a venture with huge enthusiasm, it’s hard to sustain, especially when the journey gets hard or we hit the inevitable hurdles.

Being part of a group offloads some of this willpower burden. Once you become part of something greater than yourself, you don’t want to let the group down by not bringing your best self to the table.

We as humans care deeply about what our fellow humans think of us, even when we’re told not to, or even though we know other people are too busy with their own realities to care much about ours. And yet, this external influence remains very strong.

In other words, when you join a live, group course, you’re giving yourself much better odds at actually sticking through the course and completing it, reaching your goal, and reaping the benefits.

With dedicated time slots and friendly faces waiting to greet you, you’ll feel inspired to attend as many live sessions as possible.

And by simply turning up, again and again, you’ll see the results you’re after.

I was a student in a cohort-based course earlier this year, and I was pumped every time a live class rolled around. I couldn’t wait to join and catch up with everyone. There’s no way I would have stuck with a video-only version of this course on my own.

2. Learning Together Is Faster

Remember the game minesweeper?

It was a classic strategy game, with a very strong 90s PC desktop vibe, requiring players to make calculated decisions and educated guesses on where the mines lay on the board.

Minesweeper makes for a nice analogy with learning a new skill or deepening an existing skill.

You have your existing knowledge, represented in Minesweeper by the portion of the board that is uncovered.

Now, suppose you’ve reached an impasse with your learning. You don’t know how to proceed.

This is like one of those vexing 2-3-3-4-1 combinations on the Minesweeper board that eventually require an educated guess.

Continuing alone is possible, but it will be slow going and frustrating, and you will make mistakes — step on mines — along the way.

Minesweeper

If you learn with others though, whether they’re experts or just slightly ahead of you on their journey, they can show you the next move.

They can unlock the board for you, so whole new regions of knowledge open up in front of you.

Minesweeper

Your journey will be dramatically quicker with a guide, simply because you make fewer mistakes and better decisions.

3. It’s More Fun

Look at all these beautiful smiles in the final live session of Pro Sheets Accelerator earlier this year:

Pro Sheets cohort-based course community

When I launched Pro Sheets Accelerator, I expected students to say their favorite part was learning new formulas, scripts, or frameworks.

But by the end of the course, it wasn’t the formulas or scripts that students most appreciated, it was the community.

They loved learning with other spreadsheet enthusiasts!

One of the students, Jen, an educator from Massachusetts, summed it up well:

“It was really just nice to have other nerdy people to talk to and to share stories and ask questions to, who just really cared about talking through it in a high-quality conversation.”

And I was chatting recently with another student, Jim, a financial advisor from California, who said:

“Getting together with like-minded people who were really passionate about spreadsheets was just magic.”

By learning in a group, you meet like-minded people to share the highs and lows of the journey. You’ll laugh and have fun along the way, and your best learning happens when you’re happy and having fun.

How To Draw The Cantor Set In Google Sheets

The Cantor set is a special set of numbers lying between 0 and 1, with some fascinating properties.

It’s created by removing the middle third of a line segment and repeating ad infinitum with the remaining segments, as shown in this gif of the first 7 iterations:

Cantor Set Iterations

The formulas used to create the data for the Cantor set in Google Sheets are interesting, so it’s worth exploring for that reason alone, even if you’re not interested in the underlying mathematical concepts.

But let’s begin by understanding the set in more detail…

What Is The Cantor Set?

Cantor Set in Google Sheets

The Cantor set was discovered in 1874 by Henry John Stephen Smith and subsequently named after German mathematician Georg Cantor.

The construction shown in this post is called the Cantor ternary set, built by removing the middle third of a line segment and repeating ad infinitum with the remaining segments.

It is sometimes known as Cantor dust on account of the dust of points that remain after repeatedly removing the middle thirds. (Cantor dust also refers to the multi-dimensional version of the Cantor set.)

The set has some fascinating, counter-intuitive properties:

  • It is uncountable. That is, there are as many points left behind as there were to begin with.
  • It’s self-similar, meaning each subset looks like the whole set.
  • It’s fractal with a dimension that is not an integer.
  • It has an infinite number of points but a total length of 0.

Wow!

How To Draw The Cantor Set In Google Sheets

To be clear, the Cantor set is the set of numbers that remain after removing the middle third an infinite number of times. That’s hard to comprehend, let alone do in a Google Sheet 😉

But we can create a picture representation of the Cantor set by repeating the algorithm ten times, as shown in this tutorial:

Create The Data

Step 1:

In a blank sheet called “Data”, type the number “1” into cell A1.

Step 2:

In cell B1, type this formula:

={ FILTER(A1:A,A1:A<>"") ;
SUM(FILTER(A1:A,A1:A<>"")) ;
FILTER(A1:A,A1:A<>"") }

Step 3:

Drag this across your sheet up to column J, which creates the data for the first 10 iterations.

Each formula references the column to the left. For example, the formula in cell D will reference column C.

Your data will look like this:

Data For Cantor Dust in Google Sheets

How does this formula work?

It combines array literals and the FILTER function.

Let’s break it down, using the onion framework.

The innermost formula is:

=FILTER(A1:A,A1:A<>"")

This formula grabs all the data from column A and returns any non-blank entries, in this case just the value “1”.

Now we combine two of these together with array literals:

={ FILTER(A1:A,A1:A<>"") ;
FILTER(A1:A,A1:A<>"") }

Here the array literals { ... ; ... } stack these two ranges.

In this first example, it puts the number “1” with another “1” beneath it in column B.

Then we add a third FILTER and also SUM the middle FILTER range to create our final Cantor set algorithm:

={ FILTER(A1:A,A1:A<>"") ;
SUM(FILTER(A1:A,A1:A<>"")) ;
FILTER(A1:A,A1:A<>"") }

As we drag this formula to adjacent columns, the relative column references will change so that it always references the preceding column.

In column B, the output is:

1,1,1

Then in column C, we get:

1,1,1,3,1,1,1

And in column D:

1,1,1,3,1,1,1,9,1,1,1,3,1,1,1

etc.

This data is used to generate the correct gaps for the Cantor set.

Draw The Cantor Set

We’ll use sparklines to draw the Cantor set in Google Sheets.

Cantor Dust In Google Sheet
Click to enlarge

Step 4:

Create a new blank sheet and call it “Cantor Set”.

Step 5:

Next, create a label in column A to show what iteration we’re on.

Put this formula in cell A1 and copy down the column to row 10:

="Cantor Set "&ROW()

This creates a string, e.g. “Cantor Set 1”, where the number is equal to the row number we’re on.

Step 6:

The next step is to dynamically generate the range reference. As we drag our formula down column B, we want this formula to travel across the row in the “Data” tab to get the correct data for this iteration of the Cantor set.

Start by generating the row number for each row with this formula in cell B1 and copy down the column:

=ROW()

(I set up my sheet with the data in columns because it’s easier to create and read that way. But then I want the Cantor set in a column too, hence why I need to do this step.)

Step 7:

Use the row number to generate the corresponding column letter with this formula in cell C1 and copy down the column:

=ADDRESS(1,ROW(),4)

This uses the ADDRESS function to return the cell reference as a string.

Step 8:

Remove the row number with this formula in cell D1 and copy down the column:

=SUBSTITUTE(ADDRESS(1,ROW(),4),"1","")

Step 9:

Combine these two references to create an open-ended range reference for the correct column of data in the “Data” sheet.

Put this formula in cell E1 and copy down the column:

="'Data'!"&ADDRESS(1,ROW(),4)&":"&SUBSTITUTE(ADDRESS(1,ROW(),4),"1","")

This returns range references e.g. 'Data'!A1:A

Step 10:

Put this formula in cell F1 and copy down the column:

=INDIRECT("'Data'!"&ADDRESS(1,ROW(),4)&":"&SUBSTITUTE(ADDRESS(1,ROW(),4),"1",""))

This will show #REF! errors: “Array result was not expanded because it would overwrite data in…”

However, don’t worry, these are only temporary as we’ll dump this data into the sparkline formula next.

Step 11:

In column G, create a default sparkline formula:

=SPARKLINE(INDIRECT("'Data'!"&ADDRESS(1,ROW(),4)&":"&SUBSTITUTE(ADDRESS(1,ROW(),4),"1","")))

This shows the default line chart (except for the first row where it shows a #N/A error).

Step 12:

In column H, convert the line chart sparkline to a bar chart sparkline by specifying the charttype in custom options:

=SPARKLINE(INDIRECT("'Data'!"&ADDRESS(1,ROW(),4)&":"&SUBSTITUTE(ADDRESS(1,ROW(),4),"1","")),{"charttype","bar"})

Step 13 (optional):

Finally, in column I, change the colors to a simple black and white scheme, by specifying color1 and color2 inside the sparkline:

=SPARKLINE(INDIRECT("'Data'!"&ADDRESS(1,ROW(),4)&":"&SUBSTITUTE(ADDRESS(1,ROW(),4),"1","")),{"charttype","bar";"color1","black";"color2","white"})
Cantor Set Data Formulas
Click to enlarge

Feel free to delete any working columns once you have finished the formula showing the Cantor set.

Finished Cantor Set In Google Sheets

Here are the first 10 iterations of the algorithm to create the Cantor set:

Cantor Set In Google Sheet
Click to enlarge

Of course, this is a simplified representation of the Cantor set. It’s impossible to create the actual set in a Google Sheet since we can’t perform an infinite number of iterations.

Can I see an example worksheet?

Yes, here you go.

See Also

You might enjoy my other mathematical Google Sheet posts:

PI Function in Google Sheets And Other Fun π Facts

Complex Numbers In Google Sheets

How To Draw The MandelBrot Set In Google Sheets, Using Only Formulas

The FACT Function in Google Sheets (And Why A Shuffled Deck of Cards Is Unique)

How To Draw The Sierpiński Triangle In Google Sheets

Exploring Population Growth And Chaos Theory With The Logistic Map, In Google Sheets

Use The Onion Framework To Approach Complex Formulas

Complex Formulas? The Onion Framework? Huh?

I’m talking about the idea that complex formulas in Google Sheets are a lot like onions.

They have layers.

And they sometimes make you cry!

The Onion Method For Complex Formulas

If you’re building complex formulas, then I advocate following a one-action-per-step approach.

What I mean by this is that you build your formulas in a series of steps, and only make one change with each step.

The Onion Method is a framework by which to approach hard formulas, and consists of these three elements:

  1. Put each new step of the formula in a new cell
  2. Label each step with a simple “Step 1”, “Step 2”, etc. in adjacent cells
  3. Change the background color of each formula cell, so they can be easily found

This lets you see the formula progress in an incremental way and is really helpful when you’re building or tyring to understand complex formulas.

Sometimes a step might result in an error (typically a #N/A or #REF!), but that’s ok, provided it gets fixed in a subsequent step, as shown in this SUMPRODUCT example:

Advanced Formula steps example

Each of these intermediary formulas in the above image moves us forward incrementally, until the final answer is obtained in step 6.

Similarly, if you’re trying to understand complex formulas, peel the layers back until you reach the core (which is hopefully a function you understand!). Then, build it back up in steps to get back to the full formula.

Example 1: Building Complex Formulas With The Onion Method

Let’s start with this job positions dataset and use the QUERY function to summarize the results:

Job position dataset

Step 1

Setup the first, simple QUERY formula to select columns A and B:

=QUERY(A1:B,"select A, B")

This doesn’t change the data, but it’s always a good idea to set up a basic query first to ensure you have the correct dataset selected as the input to your QUERY function.

Step 2

Summarize the data by job position, using a GROUP BY clause in the QUERY function:

=QUERY(A1:B,"select A, sum(B) group by A")

Onion Method for complex formulas

Step 3

Filter out the blank rows using the WHERE clause: “is not null”, as follows:

=QUERY(A1:B,"select A, sum(B) where A is not null group by A")

Step 4

Use an ORDER BY clause to sort the table by total in descending order:

=QUERY(A1:B,"select A, sum(B) where A is not null group by A order by sum(B) desc")

Step 5

Fix the header of the total column using the LABEL clause:

=QUERY(A1:B,"select A, sum(B) where A is not null group by A order by sum(B) desc label sum(B) 'Total Positions'")

Onion Method for complex formulas

Good work!

We’ve created a pivot table using the QUERY function rather than an actual pivot table. Building it in steps, where the formula evolves slightly with each step, was key to making this work.

Let’s continue, and see how to add a total row to this QUERY formula.

Step 6

Using array literals, add a placeholder line for the total row:

={QUERY(A1:B,"select A, sum(B) where A is not null group by A order by sum(B) desc label sum(B) 'Total Positions'");{"TOTAL","TBC"}}

Step 7

Our final step is to convert this placeholder to an actual formula, to give the correct total. As with the data input to the query function, we leave the range reference open-ended to ensure it remains dynamic and will include new data automatically:

={QUERY(A1:B,"select A, sum(B) where A is not null group by A order by sum(B) desc label sum(B) 'Total Positions'");{"TOTAL",SUM(B1:B)}}

The result is:

Onion Method for complex formulas

Example 2: Deconstructing Complex Formulas With The Onion Method

If you’re trying to understand complex formulas in Google Sheets that someone else has shared with you, you can still approach it with this Onion Method.

Simply peel back the layers until you reach the innermost function. Copy that into a new cell and start from the inside and work out, building up to the full formula again.

Let’s see an example.

Suppose we’re given this worksheet with US State names:

dataset of US State Names

And we’re also given this formula:

=ArrayFormula(INDEX(A1:A20,MODE(MATCH(A1:A20,A1:A20,0))))

which gives an output of Texas.

But how does this formula work?

Applying The Onion Method, we peel back the layers to the core function and then build it up in steps again.

Step 1

In a new cell, add the innermost MATCH function:

=MATCH(A1:A20,A1:A20,0)

Step 2

=ArrayFormula(MATCH(A1:A20,A1:A20,0))

which outputs an array of the position of the first occurrence of the words in column A. We see a 2 next to every occurrence of Texas for example, because the first time it occurred was in position 2.

Step 3

Now, we wrap it with the MODE function to find the most frequently occurring position:

=ArrayFormula(MODE(MATCH(A1:A20,A1:A20,0)))

By definition, the MODE function takes a range of numbers for input and finds the most commonly occurring value.

However, what happens if we have a range of text values and want to find the most frequent?

In this case, MATCH has been used to create a range of numbers for the MODE function.

By now, we’ve probably deduced that this formula finds the most frequent word in a list.

Step 4

Finally, we can retrieve the actual text value, i.e. the most frequent State name, by adding the INDEX function to get the full original formula, like this:

=ArrayFormula(INDEX(A1:A20,MODE(MATCH(A1:A20,A1:A20,0))))

This will give the output Texas in this specific example.

Nice!

Another Example To Deconstruct Complex Formula

Here’s another example of the Onion method to deconstruct complex formulas:

Get A Unique List Of Items From A Column With Grouped Words

Complex Formulas Onion Method Template For Your Use

Click here to open a read-only copy of the template >>

This template contains both examples from this tutorial.

To make your own editable copy, please go to File > Make a copy… under the File menu.

Complex Formulas Onion Method Conclusion

The Onion Method is a framework that allows you to approach complex formulas in a systematic way.

Even if you’re presented with an “impossible” challenge to answer or an “impossible” formula to decipher, just follow this framework. If required, peel back the layers and then work from the inside out in an incremental fashion.

You’ll be amazed at how quickly your understanding of challenging formulas broadens and deepens. You’ll encounter and understand brand new functions that you’ve never heard of before. Plus, you’ll find out all sorts of secret tricks with existing formulas.

Who knows, you might even cry tears of joy instead of despair…