There is quite a lot going on in your question... I'll start with the most first problem as I see it
Its not related to the rank calculation, that's fine, its this...
I simply want to show each employee his/her rank based on the number of sales in each month without showing him results for others.
How are you planning to distribute this to colleagues?
Unless you have Tableau Server you aren't going to be able to stop each employee seeing each others data... unless you make a separate workbook for everyone with only their data.
If that isn't a problem, let me know, and we can try have a look at the rank function
Otherwise you may have to rethink your strategy