Skip to content
Back to all articles

How to automate Google Sheets: why you may not need to code

By Yurii Vasyliev7 min read
Person working on a laptop spreadsheet to automate Google Sheets tasks

Learning how to automate Google Sheets starts with a less exciting question: do you need automation at all? Many repetitive tasks disappear once a formula does the work for you. Others need a macro, a script, or an add-on, and each of those has limits you should know before you build. This guide goes from the simplest option to the most flexible, so you can pick the lightest tool that gets the job done.

Each section shows what the method does, where it tends to fail, and how to set it up. You do not need to write code for most of it. When you do, the example is short and you can copy it as it is.

Try a self-updating formula first

A formula that fills itself is the simplest automation there is. Say column B holds quantities and column C holds prices. Normally you copy a total formula down every time new rows arrive. ARRAYFORMULA removes that chore, because one formula in row 2 covers the whole column, including rows you add later.

=ARRAYFORMULA(IF(A2:A="","",B2:B*C2:C))

Put this in D2. The IF part checks whether column A is blank and returns empty text if so, which keeps unused rows tidy. Delete anything already sitting below D2 in that column, because ARRAYFORMULA cannot spill over cells that hold values. A #REF! error here almost always means something is blocking the spill range.

Spreadsheet on a laptop beside a sketched workflow showing how to automate Google Sheets
A formula in the first data row can cover every new row you add below it.

For more patterns like this one, read our guide to formulas in Google Sheets. If you would rather describe the result than write the syntax, the Formula Foundry formula creator can draft a formula for you. Test any generated formula on a few rows you can check by hand before you rely on it.

Match the method to the job

Each method solves a different kind of problem, so the wrong choice costs you time. A formula cannot send an email, and a script is overkill for a column of totals. Use the table to find the lightest tool for your task.

MethodBest forWatch out for
Formula such as ARRAYFORMULACalculations that must update as rows arriveCannot send email or run on a schedule
Recorded macroRepeating the same clicks and formatting stepsReplays exact steps, so layout changes can break it
Apps Script with a triggerScheduled jobs, such as a weekly copy of a templateNeeds a little code and a one-time authorization
Add-on such as Sheet AutomationRules like emailing or moving a row when data changesThird-party tool, so check its permissions and pricing

Start at the top of the table and move down only when the row above cannot do the job. That order keeps your sheet easy to maintain, because every step down adds something that can break.

Record a macro for repeated clicks

A macro records what you do and replays it on demand. According to Google's help page on automating tasks, you open your spreadsheet at sheets.google.com, click Extensions, then Macros, then Record macro. The same page covers editing a macro, scheduling it, and importing custom functions. Before you press record, choose between absolute and relative references. Absolute references replay on the same cells every time, while relative ones apply from wherever your cursor sits.

Most macro problems come from that one choice, plus a few habits:

  • Recording with absolute references when you wanted the macro to work on any selected row.
  • Clicking around while recording, since the macro replays every action, including the stray ones.
  • Moving or inserting columns afterward, which sends the macro to the wrong cells.
  • Skipping the first-run authorization prompt, which stops the macro before it starts.

Keep each macro small and give it a plain name. Three short macros are easier to fix than one long one.

Schedule work with Apps Script

When a task has to run without you, Apps Script is the next step up. Ben Collins' premium video course, Automation With Apps Script, covers copying data to another sheet and setting schedules for your scripts. It also shows how to import CSV files from Drive folders or Gmail attachments and send sheet data to Google Calendar. The course assumes some prior exposure to macros or custom functions, so build a few macros first.

function createWeeklyCopy() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const stamp = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd');
  ss.copy('Weekly report ' + stamp);
}

This script makes a dated copy of the spreadsheet it lives in. To run it weekly, open the Triggers page in the Apps Script editor and add a time-driven trigger for createWeeklyCopy. Set the trigger to repeat on a weekly timer. Because the trigger runs when you are not looking, turn on failure notifications, or an error can sit unnoticed for weeks.

Use no-code add-ons and AI assistants carefully

Add-ons let you set rules instead of writing scripts. The Sheet Automation site describes a three-part model: a trigger fires, conditions filter, and an action runs. Triggers include a new row, a form response, or a date arriving, and actions include sending an email, moving a row, or posting to Slack. That suits anyone who wants rules like "email me when status changes to Done" without touching code.

The trade-off is access. An add-on reads and edits your spreadsheet, so read its permission request before you install it. AI helpers also exist, and TechRepublic has covered SheetGPT, an AI assistant add-on for Google Sheets. Treat anything an AI writes into your cells as a draft, and check it against a few known values.

Use the lightest tool that does the job, because every extra layer is one more thing to fix later.

How to automate Google Sheets without breaking it later

Automations rarely fail on their own. They fail when someone renames a tab, moves a column, or adds a blank row. Dynamic sheet references are a common weak spot. Exceljet explains in its guide to dynamic worksheet references that INDIRECT can build a reference from text, and the same syntax works in Google Sheets. If a sheet name has spaces or punctuation, wrap it in single quotes:

=INDIRECT("'"&B6&"'!A1")

Here B6 holds the sheet name. Skip the quotes and a name like Sales 2026 returns a #REF! error. When any formula in your setup returns an error, our guide to fixing Google Sheets formula errors walks through the common causes.

Excel users have a similar toolbox. Contextures keeps a library of Excel worksheet tips and macros, including how to copy and rename worksheets. Excel macros use a different language from Google's, so do not expect to paste them straight into Sheets.

  • Test every automation on a copy of the file first.
  • Keep headers in row 1 and avoid moving them.
  • Use short sheet names without spaces where you can.
  • Add a Last run cell that your script or macro updates, so you can see at a glance whether it ran.

Pick one task you repeat every week, such as the weekly totals or the weekly copy, and automate only that. Once it runs for a month without trouble, move on to the next one.

Action steps

  1. Choose one repeat task: Pick a single job you do every week, such as updating totals or copying a template.
  2. Try a formula first: Use ARRAYFORMULA so calculations fill new rows without copying anything down.
  3. Record a small macro: Go to Extensions, then Macros, then Record macro, and pick absolute or relative references before you start.
  4. Add a time-based trigger: If the job must run unattended, use Apps Script and set a time-driven trigger with failure notifications on.
  5. Test on a copy: Run the automation on a duplicate file and check the results before using your live data.

Frequently asked questions

Can I automate Google Sheets without coding?

Yes. Formulas such as ARRAYFORMULA, recorded macros, and no-code add-ons all work without writing code. You only need Apps Script when a task has to run on a schedule or connect to other Google services.

What is the difference between a macro and an Apps Script?

A macro records your actions and replays them. Apps Script is the code behind it, so you can edit the steps, add logic, and attach a time-based trigger.

Why does my ARRAYFORMULA show a #REF! error?

Usually cells below the formula already hold values, so the results have no room to spill. Clear those cells and the formula should fill the column.

Are add-ons safe to use with my spreadsheet?

An add-on can read and edit your spreadsheet once you grant access. Read the permission request, review the developer's terms and pricing, and test on a copy before using it on important data.

Share this article
How to automate Google Sheets without writing code