So it appears that filling in the [Proceeding_location] column is what you need to limit, when there is already a “Proceeding” record for the user? There are likely a few different ways to accomplish this, here is what comes to my mind first.
I’ll assume you have a column called [User], in the same table.
Set Editable_If for the [Proceeding_location] column to:
ISBLANK( [Onsite_location] ) ,
[User] = [_THISROW].[User] ,
[Status] = "Proceeding" ,
[key-column] <> [_THISROW]
Additionally, I would inform you of the IFS() expression, instead of using nested IF()s like you are. You can transform your status column expression to:
isnotblank([Crew_location]),“Task Complete” ,
isnotblank([Onsite_location]), “On Site” ,
TRUE , “Unacted”