There is a Task List, and I need to hide specific columns from specific users. When Administrator login, he sees column "Budget, rub", and when visitors log in they should not see this column.
How can this be accomplished in SharePoint Online?
If the information you're trying to hide is really sensitive, "hiding" methods such as personalized view or XSL transformation or audiences or custom webparts or jquery are NOT safe.
Thus the only safe method is to use SharePoint permissions.
The idea is to create additional lists and set up appropriate permissions for them. For example, in your case it would be a list with just one column:
Setup the permissions for this list, and then add a lookup column to the original list that points to the Budget column. SharePoint will respect permissions and users will not be able to see the contents of the Budget column, if they don't have appropriate permissions.
I realize that this method is not very convenient, as you have to manage several lists instead of one, but trust me, it is the only safe method if you store your data in SharePoint list. So if you care for safety, this is what you choose.
Let me know if you need further help.