Courses → Sheet Code

Includes

62 Tutorials

How to set up web apps,
How to create APIs in sheets.
How to access APIs in google sheets without plugins/add-ons. 

Sheet Code: Unlock the Power of Google Sheets with Coding


If you're a fan of Google Sheets, you know that it is one of the most versatile spreadsheet applications available. It's used by millions of people around the world for everything from budgeting to project management to data analysis. But did you know that you can unlock even more power from this application with coding? By using Google Apps Script, a scripting language based on JavaScript, you can take your Google Sheets skills to the next level.


In this course, we'll explore some of the amazing things you can do with Sheet Code, a collection of 55 tutorials that offer over five hours of content on how to code with Google Sheets. From password-protecting your data to creating APIs and even building your own web clipper, Sheet Code offers a wealth of information that can help you get the most out of Google Sheets.


Introduction

Google Sheets is a powerful tool for managing data, but it can be frustrating when you can't do everything you need to do. Luckily, there's a solution: coding. With Google Apps Script, you can write custom code that will allow you to automate repetitive tasks, perform complex calculations, and even create your own web applications. Sheet Code is a comprehensive guide to coding in Google Sheets, and it's perfect for beginners and advanced users alike.


How to Set Up Web Apps with Google Sheets

Web apps are an essential part of modern computing, and they're becoming increasingly important for businesses of all sizes. Google Sheets makes it easy to create and deploy web apps without any programming knowledge, but if you want to take your web apps to the next level, you'll need to learn how to code. With Sheet Code, you'll learn how to create powerful web apps that can do everything from managing customer data to tracking inventory.


How to Create APIs in Google Sheets

APIs, or Application Programming Interfaces, are essential for connecting different systems and applications. With Google Sheets, you can create your own APIs that can be used to communicate with other applications and services. Sheet Code offers step-by-step instructions on how to create your own APIs in Google Sheets, so you can get started with integrating your data and services today.


How to Access APIs in Google Sheets without Plugins/Add-ons

Plugins and add-ons can be useful for extending the functionality of Google Sheets, but they can also be cumbersome and slow down your workflow. With Sheet Code, you'll learn how to access APIs in Google Sheets without the need for plugins or add-ons. This means you can keep your workflow streamlined and efficient, without sacrificing functionality.


Learn to Code in Google Sheets, for Programmers

If you're already familiar with programming languages like JavaScript, you'll find Google Apps Script very familiar.

Google Sheet Formula Frustrations Solved
Find every formula you'll ever need in Google Sheets here at Better Sheets. Whether you're a beginner or an advanced user, I’ve got you covered with a comprehensive guide of 504 formulas.

Are you struggling to find a specific value in a column of data? Look no further than the powerful VLOOKUP formula. Or maybe you need to calculate the sum of values that meet specific criteria - try out SUMIF. And when it comes to frequency of values, COUNTIF has you covered.

Have you heard of the mysterious and powerful IF formula? It can turn your spreadsheets into gateways of productivity. And don't forget about the oft-partner ISBLANK(). 

Find step-by-step tutorials for any formula here on Better Sheets. Every formula page comes with links to written blog posts and Better Sheets tutorials featuring the exact formula.

Looking for a way to segment data based on specific criteria? The FILTER formula is perfect for you. 

If you need to replace VLOOKUP, give INDEX/MATCH a try.

At bettersheets.co/formulas, I have everything you need to take your Google Sheets skills to the next level. 
From ARRAYFORMULA() to ZTEST(), Better Sheets has it all. 

62 Tutorials

Sheet Stories / Video Notes + ADDED: Email Notifications

Sheet Stories / Video Notes + ADDED: Email Notifications

Unlock the Power of Email Notifications! 📧 Dive into our latest video tutorial, where we show you step-by-step how to add email notifications to your Google Sheets. Stay ahead of the game, get instant updates, and keep your workflow seamless! Check it out now! 
IF() INDEX() CONCATENATE()
Fast FAQS

Fast FAQS

New Tool for you: Fast FAQs. Create a quick 10 question FAQ for any new product or new feature you want. Even great for topics and theories. 
Sheet uses your own API Key from Open AI to power an AI FAQ generator. Then you answer the questions in the sheet. 

Once you've written the proper answers you can publish directly to Ghost, along with FAQpage schema structured data that is optimized for Google.
Enter Google Drive File Name Get URL

Enter Google Drive File Name Get URL

Create a simple automation with an installable trigger that allows you to enter the Google Drive file name and get the URL inside your Google Sheet.
ChatGPT Clone in Google Sheets Part 2

ChatGPT Clone in Google Sheets Part 2

We fix the problem of OpenAI's API not remembering our last questions. And we label the text as Human and AI. I also add an archive Chat and new Chat function to create a new chat fresh.
Create an Internal Google Sheets Add-on

Create an Internal Google Sheets Add-on

The entire process to create and publish a Google Sheets Add-on internally to your own domain.
Tweet From a Sheet

Tweet From a Sheet

See how to tweet from a sheet and get the code below.
Why Different Cell References in AI Integration in Sheets?

Why Different Cell References in AI Integration in Sheets?

Find out How to Optimize your Apps Script functions. Learn the trade offs between flexibility, edit-ability, and protection. Different cell references allow you to do more with your apps script.

In the context of the video we're talking about an AI prompt and how I used different Cell References when writing different Apps Script functions. I'll show you why I chose those syntaxes and why you might choose different ones.

This video is more about Apps Script than writing Prompts but can help you create better web apps inside of Google Sheet, utilizing the best of Apps Script and creating your own custom functions.
Show Sheet Tabs Based on Edit

Show Sheet Tabs Based on Edit

Show a sheet or tab based on a code being entered in one sheet.
Add Title Case to Google Sheets

Add Title Case to Google Sheets

Discover the Ultimate Google Sheets Hack! Transform Text with Title Case Formula. Say Goodbye to 'Proper' and Hello to Easy Capitalization. Find Out How! 
How to Power Testimonials with Google Forms and Sheets

How to Power Testimonials with Google Forms and Sheets

I show you how I use a Google Form and a Google Sheet to power the testimonials page on BetterSheets. I walk you through the process of collecting testimonials, approving them, and displaying them on the website. I also explain how I implemented the functionality using Apps Script. If you're interested in learning about spreadsheet automation and how to leverage Google Forms and Sheets for your own projects, this video is for you!

And Spreadsheet Automation 101 is a great way to learn most of what I go over in this video.
IFNA() FILTER()
Getting Started Coding in Apps Script

Getting Started Coding in Apps Script

A short 10 minute video to get you started with Apps Script. Showing you menu: Extensions > Apps Script. And shows off how to write a function, do some math, manipulate some text. Members can get Spreadsheet Automation 101 in https://BetterSheets.co/courses
Seek Errors When Coding Apps Script

Seek Errors When Coding Apps Script

It's healthy programming. I'll show you some common errors you will encounter when you first start programming in Apps Script
Think Like a Programmer: Develop The Mindset of an Apps Script Coder

Think Like a Programmer: Develop The Mindset of an Apps Script Coder

Learn how to think like a programmer and develop a coding mindset with these expert tips from a seasoned Google Sheets programmer. Don't fall for the common, ineffective advice, and instead follow this practical advice, including learning the process, figuring out how to search, and avoiding memorization. With these habits, you'll be on the path to successful coding. 

It's hard to code. It's even harder to learn to code. This is my thought process to help you become resilient enough to learn, and continue to learn to code.
ChatGPT Clone in Google Sheets Part 1

ChatGPT Clone in Google Sheets Part 1

In this tutorial, learn how to create a ChatGPT-like interface using Google Sheets and Apps Script. Record your questions and get answers from OpenAI's GPT-3 API. Follow this step-by-step guide to build your own interactive GPT-3 interface.

  • Style a sheet like ChatGPT. Use the correct colors and interface design.
  • Add new rows to record the questions/prompts.
  • Add rows for the responses, and answers we get from OpenAI API.
Embed a Number in a Website from a Google Sheet

Embed a Number in a Website from a Google Sheet

Ever wanted to display some data from a google sheet on your site? Without using 3rd party tools here is the javascript, html and the sheet you will need. and step by step instructions on how to use it.
Create Navigation Like A Book or Presentation

Create Navigation Like A Book or Presentation

A pretty cool script I came up with to click and set active the next tab. No matter how many tabs/sheets you have. Makes a book-like page turning action. At the end of the video I say you have to wait, but now you can get the sheet and the script only. Spreadsheet Alchemy is still a work in progress.
Add Click Tracking To Your Google Sheets | Bitly in a Google Sheet

Add Click Tracking To Your Google Sheets | Bitly in a Google Sheet

Create a click Edit: Google changed how the redirect is handled. It no longer automatically goes forward, so you will need to add a link for a user to click on again to go to the forwarded link.
HYPERLINK()
Hold a Giveaway Raffle in a Google Sheet

Hold a Giveaway Raffle in a Google Sheet

Get a random winner from a list of names. Also great to randomize tasks to do.
Quickstart Tutorial OpenAI API in Google Sheets

Quickstart Tutorial OpenAI API in Google Sheets

Use the power of OpenAI's GPT-3 inside of Google Sheets. In this quick start tutorial I show you how to take OpenAI's curl commands and change them into Apps Script to use GPT-3 inside of sheets. We write a tweet, we ask questions. And now you can use this power for greater good!
Capture Emails from Website Form to a Google Sheet (Without Zapier)

Capture Emails from Website Form to a Google Sheet (Without Zapier)

Embed a little HTML into your site to capture Emails straight to a Google Sheet. I've written the apps script and the html and the javascript for you. As easy as copy and pasting. Use my referral link if you choose to use Carrd for this: https://try.carrd.co/kamphey
SUBSTITUTE()
Embed a Headline in a Website from Google Sheets

Embed a Headline in a Website from Google Sheets

One of the most requested videos, Ever. How to put data, a number, some text, from a Google Sheets onto a website without having to embed the entire Google Sheet. This is the way!
SUBSTITUTE()
Create a new Spreadsheet from just a Name in a Sheet.

Create a new Spreadsheet from just a Name in a Sheet.

Create the Apps Script to create a new sheet from some data inside your sheet. Script included in the sheet below.
Bjarne Asks: Can I show the Last Time of the Last Edit in a sheet?

Bjarne Asks: Can I show the Last Time of the Last Edit in a sheet?

ow do I show the date and time for the last time something was changed in a sheet? So what's interesting is that this This shows you Google Sheets shows an version history up here and shows you the last edit, but sometimes we want to have that data available to us inside of the sheet.
NOW()
Email Yourself a Cell from a Google Sheet, Every Day

Email Yourself a Cell from a Google Sheet, Every Day

Learn how to email yourself a cell from a Google sheet every day in just a few simple steps! This powerful technique will change the way you manage your data. Follow along and get ready to be amazed! 

Learn to automate an email, with data, from a sheet.
OpenSea Data Inside Sheets

OpenSea Data Inside Sheets

Get floor prices into your spreadsheet with URLFETCHAPP. Accessing OpenSea's API directly from google sheets. Get any data you want. from Market Cap to One Hour Volume
Create an Email Campaign Stats Calculator

Create an Email Campaign Stats Calculator

Take your email marketing to the next level with our Google Sheet Campaign Stats Calculator. Analyze open rates, click-throughs, and conversions, and make data-driven decisions to improve your campaigns. Build a sheet from scratch. We're going to build a calculator, with some functions and some custom functions in apps script. We'll also design the sheet like a funky dashboard.
CONCATENATE() ROUNDDOWN() UPPER()
Twitter App Clone in a Google Sheet

Twitter App Clone in a Google Sheet

I built a twitter clone in Google Sheets
Dylan Asks: How to Automatically Delete Rows If Cell Contains Value

Dylan Asks: How to Automatically Delete Rows If Cell Contains Value

Find out how to automatically delete rows based on a cell's value. We do this in Apps Script
Highlight Row as You Move Your Cell Selection

Highlight Row as You Move Your Cell Selection

Checking data? This script changes bg color of entire row as you move your cell selection.
Create a Timer with Apps Script

Create a Timer with Apps Script

Create a start time and end time and duration of that, with a little bit of Apps Script.
ISBLANK() IF()
LinkTree in a Google Sheet

LinkTree in a Google Sheet

This tool will allows you to share multiple links on your social media.
Password Protecting Data In a Google Sheet

Password Protecting Data In a Google Sheet

A funky way to password protect some data in a sheet, 3 ways to do it: with IF(), Apps Script, and Encoding
IF() IMPORTRANGE()
Automatic Weekly Backup of Google Sheets

Automatic Weekly Backup of Google Sheets

Discover how to Save Your Sheets Every Week Automatically
Create a CPM Custom Function (Create Better Calculators!)

Create a CPM Custom Function (Create Better Calculators!)

this is gonna be fun because we get to create a calculator with Apps Script.
Move Entire Row when a Cell is changed to "Yes" - The $75,000 Google Script

Move Entire Row when a Cell is changed to "Yes" - The $75,000 Google Script

This is one of the most popular asked first "automations". How to move a row of data based on a single criteria in a column. Great for sales teams and maintaining a CRM.
What Can You Automate in Google Sheets? Every single trigger available to Google Sheet users

What Can You Automate in Google Sheets? Every single trigger available to Google Sheet users

Learn about triggers, hourly, daily, weekly, etc.
Sync Two Tabs Without ImportRange()

Sync Two Tabs Without ImportRange()

Get this epic script that automatically edits two tabs and keeps them in sync.
Google Sheets Stories? No! But we'll add timestamped video notes to your google sheets.

Google Sheets Stories? No! But we'll add timestamped video notes to your google sheets.

There was a stories craze. Every app/platform/business was adding 24 hour lasting videos to their users accounts. Now you can do that with Google sheets.
IMAGE() INDEX() SPLIT() ISBLANK() IF() +1 more
Password Protecting Data In a Google Sheet Part 2 The Basics

Password Protecting Data In a Google Sheet Part 2 The Basics

Covering some of the basics I skipped over in the part 1 video.
IF() IMPORTRANGE()
Benoit Asks: How to Convert Case

Benoit Asks: How to Convert Case

How can I use this function, lower, upper, or proper as a conditional formatting? And then the other question is, how can I use this to apply on a bunch of cells without having to double the cells?
PROPER() UPPER() ARRAYFORMULA() LOWER()
Learn to Code in Google Sheets, For Programmers

Learn to Code in Google Sheets, For Programmers

Google Sheets uses a scripting language called Google Apps Script, which is based on JavaScript. If you know how to code in JavaScript, you'll find Google Apps Script very familiar. To get started, open a new Google Sheet and go to the "Extensions" menu, then click "Apps Script".
IMAGE()
Add a Checkbox to Turn on Dark Mode

Add a Checkbox to Turn on Dark Mode

Get ready to shake things up, formula fanatics! Learn how to add a dark mode button to your Google Sheets with this dead simple trick. Using conditional formatting and a custom formula, you can turn on dark mode with just one click. Don't miss out on this cool feature! Made this really quick dark mode click button. And I wanted to show you how I did it because it's dead simple, super simple. It's literally just using conditional formatting
Write Your First Script

Write Your First Script

I walk you through everything you may encounter along the way of coding in Google Apps Script. Discover the challenges and pitfalls before you fail. If you’ve never coded before, I’m right there with you all the way.
Find Keywords in Any Column. Create quick search dropdown to find keywords

Find Keywords in Any Column. Create quick search dropdown to find keywords

Create a quick search dropdown to find keywords in any column.
Basic CRM - Add a Powerful Script To Move Row Based on Status

Basic CRM - Add a Powerful Script To Move Row Based on Status

we're going to be adding a very powerful script to our CRMs or any database in which you need to move rows between tabs.
How To Improve: 1,000 Business ideas: Business Idea Generator

How To Improve: 1,000 Business ideas: Business Idea Generator

Revolutionize Your Business Ideas with This Simple Template - Get Inspired in Minutes! 
Let's Make a Bookmarklet!

Let's Make a Bookmarklet!

Curate a newsletter. Collect YouTube videos. Research competitors. All with this one line of javascript. Build your own web clipper. Use the Bookmarklet to clip web content to your Google Sheet. Clip text and links directly from the web to your Google Sheet with just a few clicks.
Troubleshooting Bitly in a Google Sheet Script

Troubleshooting Bitly in a Google Sheet Script

Exclusive video only for Better Sheets members. This is, uh, troubleshooting your click tracking web app or slash sheet.
Unique Features - Design a Better Dashboard Part 2

Unique Features - Design a Better Dashboard Part 2

We're gonna talk about some features that we're gonna be using that might be new to you, or, just remind you that we're gonna use them to make 'em very interesting and unique to, using dashboards.
How To Set Up Stripe Webhook to Google Sheets with Google Script

How To Set Up Stripe Webhook to Google Sheets with Google Script

Learn how to set up a Stripe web hook in a Google sheet and Stripe to track new customers, payments, and cancellations with ease! Get the script and code on GitHub, available for everyone. No need to be a Better Sheets member. 
How to Edit a Macro

How to Edit a Macro

Editing macros in Google Sheets helps you do more in less time.
Sheet Stories / Video Notes + Clear 24 Hour Old Videos

Sheet Stories / Video Notes + Clear 24 Hour Old Videos

Revolutionary Method to Manage Your Video Stories! Learn how to delete old videos in just 24 hours. Keep your content fresh and engaging. Click here for the ultimate guide. 
SPLIT() IF() INDEX() ISBLANK() IMAGE() +1 more
Add A Timestamp to Task Lists (without Now Formula)

Add A Timestamp to Task Lists (without Now Formula)

How to add a timestamp to done tasks. Learn how to easily add timestamps to your done tasks! Say goodbye to manual formatting and hello to this simple code. Click now to save time! 
NOW() FILTER()
Make your Custom Functions Like Native Functions | Custom Function Autocomplete

Make your Custom Functions Like Native Functions | Custom Function Autocomplete

Enable your apps script functions be auto completed while you're using Google Sheets.
Create a Changelog Between 2 Cells Custom Function | To learn Double For Loop

Create a Changelog Between 2 Cells Custom Function | To learn Double For Loop

Learn how to track every change in your Google Sheets with a simple custom function in this video on "What Changed." Discover how to compare sentences, paragraphs, and more with ease. Follow along as we create the function from scratch. Get ready to streamline your editing process!

We code a little apps script to figure out the difference between two cells.

New Syntax for WhatChanged Formula in Google Script

New Syntax for WhatChanged Formula in Google Script

revisiting the "what changed" custom function I built in a past video. Showing you more apps script
How to Record Macros

How to Record Macros

Record a macro, to Insert a column every day.
COLUMN()
2 Ways to Delete Lines Quickly (CAREFUL, it's a script!)

2 Ways to Delete Lines Quickly (CAREFUL, it's a script!)

Write an apps script to delete lines easily.
Deep Inside Dark Habits Google Script

Deep Inside Dark Habits Google Script

Go inside this apps script and sheet. See how it's designed and created.
ARRAYFORMULA() ISBLANK() TRANSPOSE() FILTER() INDEX() +3 more
How to Trigger Macros Daily

How to Trigger Macros Daily

Automate your apps script and macros you can record.
TODAY()
5 Ways to Create Coupon Codes | Create UUIDs

5 Ways to Create Coupon Codes | Create UUIDs

Generate Coupon Codes with 5 Levels of Difficulty - From Copy-Pasting to Advanced Google Sheets Formulas. Get up to thousands of unique codes easily! Watch now for coupon mastery inside of Google Sheets.
RANDBETWEEN() DEC2HEX() CHAR() MID()
Create a Radio Button From Checkboxes Using Google Apps Script

Create a Radio Button From Checkboxes Using Google Apps Script

Let's code a Radio button that turns off all checkboxes except the one clicked.
OR() NOT() IFS()