Old thread but certainly still valid. In my case i have an excel for Microsoft 365 workbook that takes values from several other sheets across two other workbooks and consolidates it. I had a problem where people would edit the consolidation workbook directly, causing a lot of time to recreate the formulas. I had to let people still filter and sort but not change the cell contents.
In my situation VBA was not an option due to an inability to change it to a macro enabled worksheet in my environment. The suggestions above on the "Allow Users to Edit Ranges" did not work at all.
Kind of a hack, but I created a new sheet and simply had it do a live copy of the master sheet (using =A2 as example). I then protected and hid the master sheet and left the copy unprotected. it won't prevent that sheet from being edited but it is very quick to correct.