Emails arrive buried in text. A pasted signature, a form dump, a contact note. The address is in there, wrapped in words you do not want.
Google Sheets has no "get the email" button. You either write a regex pattern or you clean each cell by hand.
The Old Way (REGEXEXTRACT)
The standard answer is REGEXEXTRACT with an email pattern. It works, but only if the pattern is right.
=REGEXEXTRACT(A1, "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}")Miss one character class and valid addresses drop out. Plus signs, dots, and subdomains all break naive patterns. And if a cell holds two emails, REGEXEXTRACT grabs only the first. Nobody keeps this pattern in their head, so it lives in a notes file you copy and paste every time.
The FITS Way (Just Ask for the Email)
With FITS, you describe what you want. The AI reads the cell and returns the address.
=FITS("Extract the email address from " & A1)More than one email in the cell? Say how you want them back.
=FITS("List every email address in " & A1 & ", separated by commas")No character classes. No escaping. It handles plus signs, subdomains, and odd formatting because it reads the text the way a person does.
When to Use Each
If your data is clean and every cell holds exactly one standard address, REGEXEXTRACT is free and instant. Reach for =FITS() when the text is messy, holds multiple addresses, or the format varies row to row. The same idea works to separate first and last names or pull the domain from a URL. Extraction is one job on a long list. Read the full guide to automating Google Sheets tasks you used to need regex for.
Stop Writing Regex Patterns
FITS puts plain-English AI formulas inside Google Sheets. Describe the field you want. Get it back. Free tier included.