I have a sheet that has protected ranges so any user with the link can edit column A, and an onEdit() function that writes to column B based on their input which is protected so only I can edit it when logged in.
This protection prevents the onEdit() from doing its thing for anonymous users so column B never has its value set.
How can you override this? I like the way excel allows this.
You can use an installable trigger running on edit. Such a trigger runs as the user who created it, regardless of whose edit caused it to run. So, if you are the creator of the trigger and your account is authorized to edit protected cells, they will be updated.