If you have ever tried to summarize a column without writing a script in Google Sheets and ended up wrestling with awkward workarounds, the STDEV.S function is the cleaner solution you were looking for. This tutorial walks through the function from the ground up: what it does, how to wire up the arguments, the small mistakes that quietly break it, and a few realistic examples you can paste into your own spreadsheet. By the end you should be able to drop STDEV.S into a real workflow with confidence, not crossed fingers.

What STDEV.S does

See STDEV In other words, you reach for STDEV.S when the alternative is a long, fragile chain of helper cells that you would have to maintain by hand. The function exists precisely so that you do not have to.

Syntax, argument by argument

The complete signature looks like this:

STDEV.S(value1, [value2, ...])
  • value1 — which numeric value to feed in.
  • value2, ... optional — which numeric value to feed in.

Step-by-step walkthrough

Step 1

Open your Google Sheet and click the cell where you want the answer to appear. Type an equals sign followed by the function name: =STDEV.S(. As soon as you type the opening parenthesis, Google Sheets pops a short hint card showing the expected arguments. Keep that hint visible while you fill in the function — it is the single best way to avoid typos and missing commas.

Step 2

The first argument, value1, is what tells STDEV.S which numeric value to feed in. The second argument, value2, ..., is what tells STDEV.S which numeric value to feed in. This argument is optional — if you leave it out, Google Sheets falls back to a sensible default that is documented in the function reference. Read together, the arguments describe the operation succinctly: see stdev

Step 3

Once the arguments are in place, close the parenthesis and press Enter. If you see a green corner indicator on the cell after pressing Enter, hover over it: Google Sheets will tell you exactly what is wrong, whether it is a mismatched range size, a circular reference, or an unexpected data type. For STDEV.S specifically, watch for arguments that quietly coerce types — for instance, a date entered as plain text behaves very differently from a real date value, and an empty cell is not the same thing as a zero.

Step 4

After the formula returns the right answer for one row, drag the fill handle (the small blue square in the bottom-right corner of the cell) down to apply it to the rest of your range. If you want the formula to update automatically as new rows arrive, wrap the whole thing in ARRAYFORMULA, or convert the source range into open-ended notation like A2:A instead of A2:A100. This single change is often the difference between a spreadsheet you have to maintain by hand and one that just keeps working.

Real-world examples

Quick start: STDEV.S on a small range

Suppose you have ten values in cells A2:A11. Drop =STDEV.S(A2:A11) into B1 and you immediately get a usable result without touching the data itself. Notice how the formula references the range, not individual cells — this is what lets you append new rows without rewriting anything.

In the wild: combining STDEV.S with another function

STDEV.S plays nicely inside conditional aggregations. Use it together with FILTER to crunch only the rows that match a condition, e.g. =STDEV.S(FILTER(B2:B, A2:A="Active")). The filter narrows the data first, then STDEV.S does the math on what remains.

Watch out for blank cells and headers

When you point STDEV.S at a real dataset, two things break first: blank cells in the middle of your range and a header row in row 1. Either start your range at row 2, or wrap the call in IFERROR to silently skip the bad rows. The fix is small but the difference in how the spreadsheet feels to use is enormous.

Common mistakes (and how to fix them)

  • Mismatched ranges. If two range arguments need to be the same shape, even a one-row mismatch will return #N/A or #REF!. Always double-check by selecting both ranges in the formula bar.
  • Locale-specific separators. In some locales Google Sheets expects semicolons instead of commas between arguments. If you copy a formula from a tutorial and it errors out immediately, that is the first thing to check.
  • Treating text as numbers. STDEV.S will silently coerce the wrong types in some places and refuse to in others. When in doubt, wrap inputs in VALUE() to force a numeric interpretation.
  • Hard-coding a finite range like A2:A100 when your data grows. Switch to A2:A so the formula keeps up with new rows automatically.

When to reach for something else

STDEV.S is a sharp tool, but it is not the only one in the drawer. If you find yourself fighting the function — wrapping it in three layers of IFERROR, or building elaborate helper columns just to feed it — that is usually the sheet telling you to step back and pick a different approach. The related functions below cover the same territory from slightly different angles, and skimming a couple of them is the fastest way to recognize when one of them fits your problem better than STDEV.S does.

If you are working with hundreds of thousands of rows or pulling data from another sheet on every keystroke, also consider whether the work belongs in QUERY, IMPORTRANGE, or even Apps Script. Formulas are the right answer for an enormous range of spreadsheet problems, but not all of them.

Wrapping up

Once STDEV.S clicks, you will start spotting opportunities to use it everywhere. The pattern that the function encodes is genuinely useful, and recognizing that pattern is more than half of getting fluent in Google Sheets. Bookmark this page, copy the example formulas into a scratch sheet, and try modifying them with your own data — that is the moment the function moves from theory into your everyday toolkit.