Hi there!
If you're exploring a career in data or just curious about what different data jobs pay across countries and work types, you're in the right place. I recently built an interactive salary dashboard in Excel to help visualize trends in data job salaries โ and in this post, Iโll walk you through exactly how I did it.
Letโs dive in step by step!
- Getting the Data In
I started by using a real world salary dataset. It had real job postings from 2023 for roles like Data Scientist, Analyst, Engineer, and more. The dataset included:
Job Title
Salary
Country
Job Schedule (Full-time, Contract, etc.)
Required Skills
What I did:
Imported the data into Excel.
Looked for missing or zero salary values.
Cleaned up inconsistencies (like standardizing country names).
Saved the cleaned data on a new sheet for analysis.
Tip: Always clean your data first โ it saves a lot of headaches later!
- Planning the Dashboard
Before jumping into charts and formulas, I planned out what the dashboard should include.
Dashboard Goals:
Filters for Job Title, Country, and Schedule Type
Charts for salaries by job title and by country
Tables to calculate medians and support visuals
I even sketched out a rough layout on paper โ this helped a lot with structuring the final dashboard.
- Preparing and Cleaning the Data
To make sure everything worked smoothly:
I removed rows with missing or zero salary.
Standardized things like "USA" and "United States".
Created helper columns like โShort Job Titleโ for cleaner visuals.
Helpful Formula to Remove Zero Salaries:
=FILTER(Data!A2:E1000, Data!D2:D1000 <> 0)
- Creating Support Tables
To power the dashboard filters and charts, I built small tables in the background:
Unique lists of job titles, countries, and job types
Median salary calculations for each filter combination
Formula to Get Unique Job Titles:
=UNIQUE(Data!A2:A1000)
Formula to Calculate Median Salary:
=MEDIAN(
IF(
(Data[Job_Title]=SelectedJobTitle)*
(Data[Country]=SelectedCountry)*
(ISNUMBER(SEARCH(SelectedType, Data[Schedule_Type])))*
(Data[Salary]<>0),
Data[Salary]
)
)
Note: This is an array formula โ press Ctrl+Shift+Enter in older Excel versions.
- Making Filters with Dropdowns
To make the dashboard interactive, I used Data Validation for dropdown filters:
Job Title
Country
Schedule Type
I used the unique lists from Step 4 to populate the dropdowns. Super easy and effective!
- Designing Visuals
Salary by Job Title โ Bar Chart
I created a bar chart that shows median salary by job title, sorted from high to low.
Salary by Country โ Map Chart
Using Excelโs map chart, I visualized salaries by country with color gradients to show salary ranges.
Job Schedule Breakdown
I also added a chart/table to show how job types (like full-time or contract) are distributed.
Formula to Filter Simple Job Types:
=FILTER(J2#, (NOT(ISNUMBER(SEARCH("and", J2#))+ISNUMBER(SEARCH(",", J2#)))) * (J2# <> 0))
- Assembling the Dashboard
This is the fun part! I put everything together on one sheet:
Filters at the top
Charts in the middle
Summary tables at the bottom
I made sure everything was dynamic, so any filter change updates the entire dashboard. I also used consistent colors for a clean, professional look.
- Testing and Final Touches
Before sharing it, I tested all the filters and charts by changing values. I fixed a few formula errors and checked for slowdowns due to large data.
Polishing is key โ a working dashboard is great, but a smooth, user-friendly one is even better.
Final Thoughts
Building this dashboard was a great learning experience and a fun way to visualize real-world salary data for data jobs. Excel is surprisingly powerful when it comes to interactive dashboards โ especially when you combine formulas, charts, filters, and a bit of design thinking.
๐ If youโre interested in exploring or customizing it, you can download the complete dashboard and sample data from my GitHub repository:
๐ GitHub Repository
Let me know what you think or if you'd like to see similar dashboards for other topics!
Would you like a downloadable blog version (PDF/Markdown), or help publishing this to a platform like Medium or your own site?
Top comments (0)