This is one of the most common cleanup tasks in a spreadsheet. Keep the username before the @. Keep the city before the comma. Drop the query string after the question mark.
Google Sheets can do it. It just refuses to do it gracefully.
The Old Way (LEFT plus FIND)
The classic pairing finds the character, then keeps everything to its left.
=LEFT(A1, FIND("@", A1) - 1)Perfect, right up until a cell has no @ in it. FIND cannot find it, so it returns #VALUE!, and your column fills with errors. Now you need a wrapper.
=IFERROR(LEFT(A1, FIND("@", A1) - 1), A1)Then someone asks for the text before the last slash instead of the first. FIND only searches left to right. There is no FINDLAST. So you end up with something like this.
=REGEXEXTRACT(A1, "^(.*)\/")And regex brings its own trap. Cutting at a period or a question mark means escaping it, because those characters are operators. Forget the backslash and the formula silently matches the wrong thing.
The FITS Way (Just Name the Character)
With FITS, you describe the cut. Missing delimiters do not blow up the column.
=FITS("Return everything before the first @ in " & A1 & ". If there is no @, return the cell unchanged")Need the last occurrence instead of the first? Say "last". That is the whole change.
=FITS("Remove everything after the last slash in " & A1)No IFERROR. No escaping. No rewriting the formula from scratch when the rule flips direction.
When to Use Each
LEFT and FIND are fine when every cell is guaranteed to contain the delimiter exactly once. Reach for =FITS() when rows are inconsistent or the rule is fuzzy. Related reads: separate first and last name, extract the domain from a URL, and the full guide to automating Google Sheets tasks you used to need regex for.
Stop Wrapping Everything in IFERROR
FITS puts plain-English AI formulas inside Google Sheets. Describe the cut. Get the text. Free tier included.