Free Excel Practice Sheets & Datasets: 10 Real Workbooks
Download 10 free synthetic Excel practice workbooks for data analytics. Practice VLOOKUP, XLOOKUP, pivot tables, SUMIFS, and business-style dashboards.
Dataset note: These are real Excel workbooks containing synthetic, business-style practice data. No record describes a real person, customer, company, or transaction.
The five-row examples below are previews; download the workbooks for the complete synthetic practice datasets. They include multi-sheet exercises you can use to practice spreadsheet analysis.
Use the synthetic records to practice realistic workflows for interviews or portfolio projects. This guide covers ten business-style datasets spanning e-commerce, retail, SaaS, human resources, corporate finance, and operations; the examples do not represent actual company records or production systems.
Before jumping into individual workbook schemas, review the analytical workflow pipeline below to understand how professional analysts transform raw practice records into boardroom-ready models.
+-----------------------------------------------------------------------------+
| EXCEL ANALYTICAL WORKBOOK ARCHITECTURE PIPELINE |
+-----------------------------------------------------------------------------+
| |
| [ Raw Practice Data ] |
| | |
| v |
| [ Data Hygiene & Ctrl+T ] ---> Lock records into Structured Excel Tables |
| | (Prevents accidental sort misalignment) |
| v |
| [ Relational Lookups ] ---> Join dimensions with XLOOKUP / INDEX-MATCH |
| | (Customer master, product pricing tiers) |
| v |
| [ Analytical Metrics ] ---> Aggregate via SUMIFS, COUNTIFS & Arrays |
| | (Calculate unit economics & variances) |
| v |
| [ Multi-Dimensional ] ---> Pivot Tables, Slicers & Calculated Fields |
| | (Cross-tabulate segments & cohorts) |
| v |
| [ Executive Presentation ]---> KPI Summary Cards, Sparklines & Clean Visuals|
| |
+-----------------------------------------------------------------------------+Master Comparison: Top 10 Excel Practice Datasets
Each dataset below isolates core analytical competencies required by commercial employers. Use this matrix to match your practice goals with the right business domain:
| Dataset Name | Business Domain | Core Schema Keys | Primary Analytical Skills Tested | Difficulty |
|---|---|---|---|---|
| 1. E-Commerce Orders | Omnichannel Retail | Order_ID, SKU, Discount_Pct, Revenue | XLOOKUP joins, Net revenue, Multi-criteria SUMIFS | Beginner-Intermediate |
| 2. Retail Store Sales | Physical Brick & Mortar | Store_ID, Department, Sales_Amount | Conversion rates, daily target attainment, FILTER arrays | Beginner |
| 3. HR Employee Attrition | Workforce Analytics | Emp_ID, Tenure, Salary, Performance | Attrition ratios, salary banding, descriptive review flags | Intermediate |
| 4. SaaS Monthly Churn | B2B Subscriptions | Subscription_ID, MRR, Active_Date | Logo churn vs revenue churn, Dormancy flags, Cross-tabs | Intermediate |
| 5. Customer Demographics | Fintech & CRM | Customer_ID, Credit_Score, City_Tier | Approximate VLOOKUP, Multi-factor AND/OR, AVERAGEIFS | Beginner-Intermediate |
| 6. Marketing Campaigns | Growth & Ad Operations | Campaign_ID, Spend, Clicks, Conversions | CTR/CPC calculations, ROAS formulas, Dynamic SORT arrays | Intermediate |
| 7. Financial P&L Statement | FP&A & Corporate Finance | Account_Code, Actuals, Budget, Variance | Budget variance %, Subtotal SUMIF, Overrun alerts | Intermediate-Advanced |
| 8. Inventory Stock Levels | Supply Chain & Warehousing | SKU, Stock, Burn_Rate, Lead_Time | Runway modeling, Dynamic Reorder Points, SUMPRODUCT | Intermediate |
| 9. Product Master Catalog | Merchandising & Pricing | SKU_ID, Cost, MSRP, Tax_Slab | Gross margin %, 2-Way INDEX-MATCH, Post-tax billing | Intermediate-Advanced |
| 10. Support Ticket Desk | Customer Support / ITSM | Ticket_ID, Created, Resolved, CSAT | Timestamp math (hours), First-contact resolution, Scorecard pivot | Intermediate |
1. E-Commerce Multi-Channel Orders Dataset
The e-commerce order ledger is the cornerstone of retail analytics. It contains transactional line items capturing customer purchases, promotional markdowns, payment methods, and delivery outcomes.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Order_ID | String | ORD-2026-1001 | Unique transaction identifier |
Order_Date | Date (YYYY-MM-DD) | 2026-03-01 | Date customer placed the order |
Customer_ID | String | CUST-4401 | Foreign key mapping to customer master |
Product_SKU | String | SKU-AUD-09 | Foreign key mapping to product catalog |
Category | String | Audio | High-level merchandise category |
Unit_Price | Currency (INR) | 2499.00 | Listed base price per unit before discounts |
Quantity | Integer | 2 | Total item count purchased |
Discount_Pct | Percentage | 0.15 | Promotional coupon markdown applied |
Payment_Method | String | UPI | Gateway mechanism (UPI, Credit Card, COD, Net Banking) |
Order_Status | String | Delivered | Delivery stage (Delivered, Shipped, Cancelled, Returned) |
Sample Data Rows
Copy and paste these raw records into cell A1 of a fresh worksheet:
| Order_ID | Order_Date | Customer_ID | Product_SKU | Category | Unit_Price | Quantity | Discount_Pct | Payment_Method | Order_Status |
|---|---|---|---|---|---|---|---|---|---|
| ORD-2026-1001 | 2026-03-01 | CUST-4401 | SKU-AUD-09 | Audio | 2499 | 2 | 0.15 | UPI | Delivered |
| ORD-2026-1002 | 2026-03-01 | CUST-2180 | SKU-WCH-02 | Wearables | 4999 | 1 | 0.10 | Credit Card | Delivered |
| ORD-2026-1003 | 2026-03-02 | CUST-9014 | SKU-ACC-14 | Accessories | 799 | 3 | 0.00 | COD | Returned |
| ORD-2026-1004 | 2026-03-03 | CUST-3312 | SKU-AUD-09 | Audio | 2499 | 1 | 0.20 | UPI | Delivered |
| ORD-2026-1005 | 2026-03-03 | CUST-5582 | SKU-CMP-88 | Computing | 18500 | 1 | 0.05 | Net Banking | Cancelled |
Download & Workbook Setup
- Workbook: Download ecommerce-orders.xlsx — 400 synthetic order rows in
Orders_Raw(Table_Orders), 105 customer records inCustomer_Master, 34 products inProduct_Catalog, plusInstructionsandAnswers_Checkssheets. - The downloaded data is already formatted as Excel Tables. To practice from a fresh paste, select the range, press
Ctrl + T(orCmd + Ton macOS), confirm My table has headers, and name itTable_Orders.
3 Guided Analytics Challenges
Challenge 1: Calculate Realized Net Revenue per Order
In Column K (header: Net_Revenue), write an Excel structured formula that deducts promotional discounts from gross sales.
=[@Quantity] * [@Unit_Price] * (1 - [@Discount_Pct])Formula Explanation: Using structured references like [@Quantity] ensures the formula propagates automatically down every row without dragging. For Row 2 (ORD-2026-1001), the math evaluates to 2 * 2499 * (1 - 0.15) = 4248.30.
Challenge 2: Lookup Customer City from Dimensional Table
The Customer_Master sheet contains Customer_ID in Column A and City in Column B, enrich your order row with the buyer's home city using XLOOKUP:
=XLOOKUP([@[Customer_ID]], Customer_Master!$A$2:$A$101, Customer_Master!$B$2:$B$101, "Unknown City")Why Modern Analysts Prefer This: Unlike legacy lookup functions, XLOOKUP defaults to exact match and returns results from a separate return array. See Microsoft’s XLOOKUP reference. If you still use legacy workbooks, read our deep-dive on Excel VLOOKUP vs XLOOKUP Guide.
Build Employer-Ready Spreadsheet Skills
Transform these raw formula drills into validated career portfolio projects. Follow the guided business casework in our Free Excel Course, designed to take you from foundational lookups to complete executive reporting.
Challenge 3: Calculate Total Delivered Audio Revenue via SUMIFS
Calculate total net revenue generated exclusively from completed Audio deliveries that received a discount higher than 10%:
=SUMIFS(Table_Orders[Net_Revenue], Table_Orders[Category], "Audio", Table_Orders[Order_Status], "Delivered", Table_Orders[Discount_Pct], ">0.10")2. Retail Store Daily Sales Dataset
Retail operations teams monitor physical branch foot traffic, basket sizes, and regional sales quotas to spot underperforming locations before month-end.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Store_ID | String | STR-BLR-01 | Retail outlet code |
Transaction_Date | Date | 2026-03-05 | Daily business recording date |
Region | String | South | Sales territory (North, South, East, West) |
Department | String | Apparel | Store section (Apparel, Electronics, Grocery, Home) |
Sales_Amount | Currency (INR) | 142500 | Net daily store departmental revenue |
Foot_Traffic | Integer | 1280 | Number of shoppers entering through turnstiles |
Transaction_Count | Integer | 384 | Completed register checkout slips |
Promotional_Event | String | Weekend Sale | In-store promotion active on that day |
Sample Data Rows
| Store_ID | Transaction_Date | Region | Department | Sales_Amount | Foot_Traffic | Transaction_Count | Promotional_Event |
|---|---|---|---|---|---|---|---|
| STR-BLR-01 | 2026-03-05 | South | Apparel | 142500 | 1280 | 384 | Weekend Sale |
| STR-DEL-03 | 2026-03-05 | North | Electronics | 285000 | 950 | 190 | None |
| STR-MUM-02 | 2026-03-06 | West | Grocery | 98000 | 1620 | 540 | Member Day |
| STR-KOL-01 | 2026-03-06 | East | Home | 64000 | 720 | 144 | None |
| STR-BLR-02 | 2026-03-07 | South | Electronics | 310000 | 1100 | 220 | Weekend Sale |
Download & Workbook Setup
- Workbook: Download retail-store-sales.xlsx — 240 synthetic daily sales rows in
Daily_Sales(Table_Retail), store-and-department targets inRegion_Targets, plusInstructionsandAnswers_Checkssheets. The data is already formatted as an Excel Table. - Ensure
Sales_Amountis formatted as Currency (₹ #,##0) and dates are stored as valid serial numbers. Avoid sorting columns in isolation; review Sort & Filter in Excel Without Mixing Data to avoid data scrambling.
3 Guided Analytics Challenges
Challenge 1: Compute Foot Traffic Conversion Rate & Average Transaction Value (ATV)
In Column I (header Conversion_Rate) and Column J (header ATV), compute operational efficiency:
' Conversion Rate Formula (format as 0.0%):
=[@[Transaction_Count]] / [@[Foot_Traffic]]
' Average Transaction Value Formula (format as ₹ #,##0):
=[@[Sales_Amount]] / [@[Transaction_Count]]Challenge 2: Check Whether a Store Met Its Daily Target
Compare daily sales with the matching store-and-department target in Region_Targets:
=IF([@[Sales_Amount]] >= SUMIFS(Table_Region_Targets[Daily_Target_INR], Table_Region_Targets[Store_ID], [@Store_ID], Table_Region_Targets[Department], [@Department]), "Target Met", "Under Target")Challenge 3: Extract Underperforming Stores Dynamically with FILTER
Using Excel 365 / 2021 dynamic arrays, output all records where the region is North and sales fell below ₹300,000:
=FILTER(Table_Retail[[Store_ID]:[Sales_Amount]], (Table_Retail[Region] = "North") * (Table_Retail[Sales_Amount] < 300000), "No Underperforming Stores")3. HR Employee Attrition & Headcount Dataset
This synthetic HR dataset lets you practice summarizing headcount, tenure, compensation bands, and historical attrition. A simple rule in this exercise is only a review flag; it cannot establish that an employee is a flight risk.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Emp_ID | String | EMP-0001 | Employee master personnel code |
Full_Name | String | Employee 001 | Synthetic employee label |
Department | String | HR | Business unit (Engineering, Sales, Marketing, Finance, HR) |
Role | String | Analyst HR | Functional designation |
Tenure_Years | Decimal | 11.5 | Synthetic years-of-service value |
Monthly_Salary_INR | Currency | 94000 | Synthetic monthly salary value |
Performance_Rating | Integer (1-5) | 2 | Synthetic practice rating |
Overtime_Status | String | Yes | Frequent overtime hours logged (Yes / No) |
Attrition | String | No | Resignation status (Yes = departed, No = active) |
Sample Data Rows
| Emp_ID | Full_Name | Department | Role | Tenure_Years | Monthly_Salary_INR | Performance_Rating | Overtime_Status | Attrition |
|---|---|---|---|---|---|---|---|---|
| EMP-0001 | Employee 001 | HR | Analyst HR | 11.5 | 94000 | 2 | Yes | No |
| EMP-0002 | Employee 002 | Marketing | Lead Marketing | 11.1 | 191000 | 5 | Yes | No |
| EMP-0003 | Employee 003 | Finance | Lead Finance | 10.7 | 69000 | 3 | Yes | Yes |
| EMP-0004 | Employee 004 | Finance | Analyst Finance | 6.9 | 111000 | 2 | Yes | No |
| EMP-0005 | Employee 005 | Sales | Specialist Sales | 7.4 | 68000 | 5 | No | No |
Download & Workbook Setup
- Workbook: Download hr-attrition.xlsx — 240 synthetic employee rows in
Employee_Roster(Table_HR), a summary inAttrition_Dashboard, plusInstructionsandAnswers_Checkssheets. The roster is already formatted as an Excel Table. - The provided roster is standardized. For a separate text-cleaning exercise on your own data, try
TRIMandPROPER; see our Excel Data Cleaning Guide.
3 Guided Analytics Challenges
Challenge 1: Calculate Departmental Attrition Rate
Write an analytical summary formula to compute the percentage of departed employees in the Engineering department:
=COUNTIFS(Table_HR[Department], "Engineering", Table_HR[Attrition], "Yes") / COUNTIF(Table_HR[Department], "Engineering")Challenge 2: Assign Salary Compensation Bands with IFS
Categorize monthly salaries into practice bands for this exercise:
=IFS(
[@[Monthly_Salary_INR]] >= 150000, "Tier 1: Senior & Leadership",
[@[Monthly_Salary_INR]] >= 90000, "Tier 2: Mid-Level Professional",
TRUE, "Tier 3: Associate & Entry"
)Challenge 3: Add an Illustrative Review Flag
Highlight active employees with a performance rating of 4 or 5 and overtime marked “Yes” for further human review. This is an exercise filter, not a validated attrition prediction.
- Select the data rows in
Table_HR(exclude the header). - Open Conditional Formatting → New Rule → Use a formula to determine which cells to format.
- Enter rule:
=AND($G2>=4, $H2="Yes", $I2="No"). - Set a subtle fill color and label the result “Review”, not “Flight risk”.
4. SaaS Monthly Churn & Subscription Revenue (MRR) Dataset
Subscription-based B2B software companies evaluate customer health through Monthly Recurring Revenue (MRR), cohort retention, and churn indicators.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Subscription_ID | String | SUB-00001 | Synthetic subscription identifier |
Account_Name | String | Practice Account 001 | Synthetic account label |
Plan_Tier | String | Starter | Product tier (Starter, Professional, Enterprise) |
Billing_Cycle | String | Annual | Contract invoicing schedule (Monthly, Annual) |
MRR_USD | Currency (USD) | 149.00 | Synthetic monthly recurring revenue value |
Signup_Date | Date | 2024-01-03 | Synthetic signup date |
Last_Active_Date | Date | 2024-02-04 | Synthetic last-active date |
Churn_Flag | String | No | Cancellation status (Yes / No) |
Net_Promoter_Score | Integer (0-10) | 9 | Customer satisfaction survey rating |
Sample Data Rows
| Subscription_ID | Account_Name | Plan_Tier | Billing_Cycle | MRR_USD | Signup_Date | Last_Active_Date | Churn_Flag | Net_Promoter_Score |
|---|---|---|---|---|---|---|---|---|
| SUB-00001 | Practice Account 001 | Starter | Annual | 149 | 2024-01-03 | 2024-02-04 | No | 7 |
| SUB-00002 | Practice Account 002 | Starter | Monthly | 49 | 2024-04-30 | 2025-04-28 | No | 8 |
| SUB-00003 | Practice Account 003 | Enterprise | Monthly | 2200 | 2025-05-09 | 2025-09-16 | No | 10 |
| SUB-00004 | Practice Account 004 | Professional | Annual | 700 | 2024-05-09 | 2024-05-28 | Yes | 5 |
| SUB-00005 | Practice Account 005 | Enterprise | Monthly | 2200 | 2025-07-18 | 2025-09-02 | No | 7 |
Download & Workbook Setup
- Workbook: Download saas-churn.xlsx — 220 synthetic subscription rows in
Subscriptions_Master(Table_SaaS), a summary inCohort_Analysis, plusInstructionsandAnswers_Checkssheets. The data is already formatted as an Excel Table. - Format
MRR_USDas$ #,##0.00andSignup_DateasYYYY-MM-DD.
3 Guided Analytics Challenges
Challenge 1: Compute Logo Churn Rate vs Revenue Churn Rate
Compare customer headcount loss against dollar revenue loss:
' Logo Churn Rate (Percentage of canceled accounts):
=COUNTIF(Table_SaaS[Churn_Flag], "Yes") / COUNTA(Table_SaaS[Subscription_ID])
' Revenue Churn Rate (Dollar value lost relative to total MRR):
=SUMIFS(Table_SaaS[MRR_USD], Table_SaaS[Churn_Flag], "Yes") / SUM(Table_SaaS[MRR_USD])Challenge 2: Flag Inactive Accounts with Dynamic Date Math
Create a practice inactivity flag in Column J (header: Inactivity_Flag) based on inactivity duration:
=IF([@[Churn_Flag]]="Yes", "Cancelled", IF((TODAY() - [@[Last_Active_Date]]) > 45, "Inactive > 45 days", "Active within 45 days"))Challenge 3: Cross-Tabulate MRR by Plan and Billing Cycle in a Pivot Table
- Insert a Pivot Table from
Table_SaaS. - Drag
Plan_Tierto Rows. - Drag
Billing_Cycleto Columns. - Drag
MRR_USDto Values twice: once set toSum, and the second set to Show Values As → % of Column Total. This reveals which package drives your recurring annual cash flow.
Master Excel for Data Analytics Step-by-Step
Work through real-world projects with guided feedback on Topfolio. All lessons are 100% free with an optional ₹99 verified certificate.
Explore Free Excel Course5. Customer Demographics & Credit Risk Dataset
Use these synthetic customer profiles to practice segmentation and conditional formulas. The example thresholds below are for spreadsheet practice only; they are not lending, credit eligibility, or marketing recommendations.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Customer_ID | String | C-00001 | Synthetic customer identifier |
Gender | String | Not stated | Synthetic category value |
Age | Integer | 55 | Synthetic age value in completed years |
Annual_Income_INR | Currency | 2751000 | Synthetic example annual income |
Credit_Score | Integer | 314 | Synthetic practice score; not a bureau score |
Marital_Status | String | Single | Synthetic category value |
City_Tier | String | Tier 2 | Synthetic practice category (Tier 1, Tier 2, Tier 3) |
Acquisition_Channel | String | Paid Ads | Synthetic practice category (Paid Ads, Organic Search, Referral) |
Sample Data Rows
| Customer_ID | Gender | Age | Annual_Income_INR | Credit_Score | Marital_Status | City_Tier | Acquisition_Channel |
|---|---|---|---|---|---|---|---|
| C-00001 | Not stated | 55 | 2751000 | 314 | Single | Tier 2 | Paid Ads |
| C-00002 | Not stated | 69 | 1944000 | 491 | Single | Tier 3 | Referral |
| C-00003 | Not stated | 29 | 1643000 | 726 | Other | Tier 3 | Paid Ads |
| C-00004 | Female | 68 | 2175000 | 650 | Other | Tier 1 | Referral |
| C-00005 | Male | 32 | 1024000 | 499 | Single | Tier 3 | Referral |
Download & Workbook Setup
- Workbook: Download customer-credit-risk.xlsx — 320 synthetic customer rows in
Customer_Profiles(Table_Customers), five age brackets inAge_Bracket_Lookup, plusInstructionsandAnswers_Checkssheets. The data is already formatted as an Excel Table. - Setup the bracket lookup table in
Age_Bracket_Lookup!$A$2:$B$6:18→18-25: Early Career26→26-35: Young Professional36→36-50: Mid-Career / Family51→51-65: Pre-Retirement66→66+: Senior
3 Guided Analytics Challenges
Challenge 1: Segment Customers with Approximate Match VLOOKUP
In Column I (header: Age_Group), map each customer to an age band using VLOOKUP with TRUE (approximate match):
=VLOOKUP([@Age], Age_Bracket_Lookup!$A$2:$B$6, 2, TRUE)Analyst Note: Approximate match requires the lookup array to be sorted in ascending order. If Age is 32, Excel steps down Column A until it exceeds 32 (at 36) and returns the preceding label: 26-35: Young Professional.
Challenge 2: Apply an Illustrative Two-Condition Segment
Use AND logic to label rows that meet both practice thresholds (annual income of at least ₹12,00,000 and sample score of at least 750). This label does not indicate creditworthiness or eligibility:
=IF(AND([@[Annual_Income_INR]] >= 1200000, [@[Credit_Score]] >= 750), "Meets Practice Thresholds", "Does Not Meet Practice Thresholds")Challenge 3: Calculate Segmented Average Credit Score with AVERAGEIFS
Compute the mean credit score for female clients living in Tier 1 cities acquired via Organic Search:
=AVERAGEIFS(Table_Customers[Credit_Score], Table_Customers[Gender], "Female", Table_Customers[City_Tier], "Tier 1", Table_Customers[Acquisition_Channel], "Organic Search")6. Digital Marketing Campaign Performance Dataset
Growth analysts, performance marketers, and media planners spend their days in spreadsheets evaluating return on ad spend (ROAS), cost-per-click (CPC), and acquisition funnels.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Campaign_ID | String | CMP-0001 | Synthetic campaign identifier |
Channel | String | Meta Ads | Practice channel (Google Ads, Meta Ads, LinkedIn Ads, YouTube) |
Impressions | Integer | 87422 | Synthetic impression count |
Clicks | Integer | 1079 | Synthetic click count |
Spend_INR | Currency | 46500 | Synthetic media spend value |
Conversions | Integer | 93 | Synthetic conversion count |
Revenue_INR | Currency | 41850 | Synthetic attributed revenue value |
Sample Data Rows
| Campaign_ID | Channel | Impressions | Clicks | Spend_INR | Conversions | Revenue_INR |
|---|---|---|---|---|---|---|
| CMP-0001 | Meta Ads | 87422 | 1079 | 46500 | 93 | 41850 |
| CMP-0002 | YouTube | 654386 | 6775 | 134000 | 424 | 445200 |
| CMP-0003 | Google Ads | 675339 | 24092 | 25000 | 2084 | 2396600 |
| CMP-0004 | Google Ads | 360443 | 15887 | 113000 | 89 | 44500 |
| CMP-0005 | Meta Ads | 629141 | 9434 | 105500 | 640 | 608000 |
Download & Workbook Setup
- Workbook: Download marketing-campaigns.xlsx — 160 synthetic campaign rows in
Campaign_Data(Table_Marketing), a summary inChannel_Scorecard, plusInstructionsandAnswers_Checkssheets. The data is already formatted as an Excel Table. - Format
Spend_INRandRevenue_INRas Indian Rupees (₹ #,##0).
3 Guided Analytics Challenges
Challenge 1: Compute Click-Through Rate (CTR) and Cost Per Click (CPC)
In Columns H and I, build the primary funnel efficiency metrics:
' Click-Through Rate (format as 0.00%):
=[@Clicks] / [@Impressions]
' Cost Per Click (format as ₹ 0.00):
=[@[Spend_INR]] / [@Clicks]Challenge 2: Calculate ROAS and Cost Per Acquisition (CPA)
Compute return on media investment and customer acquisition unit economics:
' Return On Ad Spend (format as 0.00"x"):
=[@[Revenue_INR]] / [@[Spend_INR]]
' Cost Per Acquisition (format as ₹ #,##0):
=[@[Spend_INR]] / [@Conversions]Challenge 3: Dynamically Rank Top Campaigns with SORT and FILTER
Extract and rank all campaigns delivering a ROAS of at least 3.0x, ordered from highest revenue to lowest:
=SORT(FILTER(Table_Marketing, Table_Marketing[Revenue_INR] / Table_Marketing[Spend_INR] >= 3.0), 7, -1)7. Corporate Financial Profit & Loss (P&L) Dataset
Financial planning & analysis (FP&A) analysts build quarterly variance models to explain budget overruns to Chief Financial Officers and division leaders.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Account_Code | String | GL-4001 | Synthetic ledger account code |
Category | String | Revenue | P&L section (Revenue, COGS, Operating Expense) |
Account_Name | String | Software licenses - Unit 1 | Synthetic line item descriptor |
Q1_Actual_INR | Currency | 4676243 | Synthetic Q1 actual value |
Q1_Budget_INR | Currency | 4064215 | Synthetic example budget |
Q2_Actual_INR | Currency | 4708766 | Synthetic Q2 actual value |
Q2_Budget_INR | Currency | 3815135 | Synthetic example budget |
Sample Data Rows
| Account_Code | Category | Account_Name | Q1_Actual_INR | Q1_Budget_INR | Q2_Actual_INR | Q2_Budget_INR |
|---|---|---|---|---|---|---|
| GL-4001 | Revenue | Software licenses - Unit 1 | 4676243 | 4064215 | 4708766 | 3815135 |
| GL-4002 | Revenue | Software licenses - Unit 2 | 4474669 | 3968379 | 4021166 | 3872825 |
| GL-4003 | Revenue | Software licenses - Unit 3 | 5424951 | 4708338 | 3262664 | 3868061 |
| GL-4004 | Revenue | Software licenses - Unit 4 | 4889044 | 4119975 | 4057070 | 3441726 |
| GL-4011 | Revenue | Implementation services - Unit 1 | 1523455 | 1219213 | 1568830 | 1508809 |
Download & Workbook Setup
- Workbook: Download financial-pl.xlsx — 44 synthetic ledger rows in
PL_Ledger(Table_PL), a summary inExecutive_Summary, plusInstructionsandAnswers_Checkssheets. The ledger is already formatted as an Excel Table. - Format all numeric columns with standard accounting parenthesis formatting:
₹ #,##0;(₹ #,##0);"-".
3 Guided Analytics Challenges
Challenge 1: Calculate Dollar Variance and Percentage Variance
In Columns H and I, build the standard FP&A variance calculations:
' Rupee Variance (Actual - Budget):
=[@[Q1_Actual_INR]] - [@[Q1_Budget_INR]]
' Variance Percentage (format as +0.0%;-0.0%;"0.0%"):
=([@[Q1_Actual_INR]] - [@[Q1_Budget_INR]]) / [@[Q1_Budget_INR]]Challenge 2: Build Section Subtotals via SUMIF
On your summary tab, aggregate total operating expenses dynamically without hardcoding cell ranges:
=SUMIF(Table_PL[Category], "Operating Expense", Table_PL[Q1_Actual_INR])Challenge 3: Conditional Warning for Adverse Budget Overruns
Configure a formatting rule that highlights expense lines where actual spend exceeded budget by more than 10%:
- Formula rule:
=AND($B2="Operating Expense", ($D2-$E2)/$E2 > 0.10) - Format: Soft red fill with dark red text.
8. Warehouse Inventory Stock & Reorder Levels Dataset
Supply chain analysts protect businesses against stockouts and tied-up working capital by modeling consumption velocity against supplier delivery lead times.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Warehouse_SKU | String | WH-SKU-0001 | Synthetic inventory identifier |
Product_Title | String | Practice Product 001 | Synthetic product label |
Current_Stock | Integer | 153 | Synthetic current stock count |
Safety_Stock | Integer | 70 | Synthetic safety stock count |
Daily_Burn_Rate | Decimal | 20.3 | Synthetic daily burn rate |
Lead_Time_Days | Integer | 14 | Synthetic supplier lead time in days |
Unit_Cost_INR | Currency | 10850 | Synthetic unit cost |
Sample Data Rows
| Warehouse_SKU | Product_Title | Current_Stock | Safety_Stock | Daily_Burn_Rate | Lead_Time_Days | Unit_Cost_INR |
|---|---|---|---|---|---|---|
| WH-SKU-0001 | Practice Product 001 | 153 | 70 | 20.3 | 14 | 10850 |
| WH-SKU-0002 | Practice Product 002 | 424 | 111 | 16.9 | 20 | 3650 |
| WH-SKU-0003 | Practice Product 003 | 501 | 103 | 16.3 | 7 | 2050 |
| WH-SKU-0004 | Practice Product 004 | 152 | 22 | 7.5 | 7 | 14600 |
| WH-SKU-0005 | Practice Product 005 | 357 | 97 | 18.1 | 20 | 3850 |
Download & Workbook Setup
- Workbook: Download inventory-reorder.xlsx — 150 synthetic inventory rows in
Inventory_Status(Table_Inventory), 20 suppliers inSupplier_Directory, plusInstructionsandAnswers_Checkssheets. The inventory is already formatted as an Excel Table. - Ensure
Current_StockandSafety_Stockare formatted as Integers (#,##0).
3 Guided Analytics Challenges
Challenge 1: Calculate Stockout Runway in Days
Compute how many operating days remain before current inventory reaches zero:
=[@[Current_Stock]] / [@[Daily_Burn_Rate]]Challenge 2: Formulate Dynamic Reorder Point (ROP) Trigger
For this exercise, calculate a reorder threshold as safety stock plus expected demand during supplier lead time: Safety Stock + (Daily Burn Rate * Lead Time).
' Calculated Reorder Threshold (Column H):
=[@[Safety_Stock]] + ([@[Daily_Burn_Rate]] * [@[Lead_Time_Days]])
' Automated Restock Trigger Flag (Column I):
=IF([@[Current_Stock]] <= [@[Reorder_Threshold]], "REORDER IMMEDIATELY", "Stock Healthy")Challenge 3: Calculate Total Tied-Up Working Capital with SUMPRODUCT
Compute total rupee capital tied up in warehouse inventory across all SKUs without adding an auxiliary column:
=SUMPRODUCT(Table_Inventory[Current_Stock], Table_Inventory[Unit_Cost_INR])9. Product Master Catalog & Pricing Tiers Dataset
Merchandising analysts maintain the master product catalog, managing supplier manufacturing costs, retail MSRPs, GST tax categories, and channel margin matrices.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
SKU_ID | String | SKU-FUR-501 | Product SKU master key |
Product_Name | String | Standing Desk Dual Motor | Item description |
Brand | String | ErgoPro | Brand manufacturer |
Cost_Price_INR | Currency | 14500 | Direct production procurement cost |
MSRP_INR | Currency | 29999 | Maximum suggested retail price |
Selling_Price_INR | Currency | 22999 | Net discounted retail selling price |
Tax_Slab_Pct | Percentage | 0.18 | Synthetic example tax factor |
Stock_Status | String | In Stock | Availability status (In Stock, Backorder) |
Sample Data Rows
| SKU_ID | Product_Name | Brand | Cost_Price_INR | MSRP_INR | Selling_Price_INR | Tax_Slab_Pct | Stock_Status |
|---|---|---|---|---|---|---|---|
| SKU-FUR-501 | Standing Desk Dual Motor | ErgoPro | 14500 | 29999 | 22999 | 0.18 | In Stock |
| SKU-FUR-502 | Mesh Task Chair | ErgoPro | 6200 | 14999 | 10999 | 0.18 | In Stock |
| SKU-LGT-201 | Smart LED Monitor Bar | Lumina | 1800 | 4499 | 3299 | 0.12 | In Stock |
| SKU-LGT-202 | Desk Ambient Strip | Lumina | 950 | 2499 | 1799 | 0.12 | Backorder |
| SKU-AUD-701 | Studio Desktop Speakers | SonicCraft | 8500 | 18999 | 13999 | 0.18 | In Stock |
Download & Workbook Setup
- Workbook: Download product-pricing.xlsx — 150 synthetic products in
Product_Catalog(Table_Products), a 12-brand pricing matrix inWholesale_Discount_Matrix, plusInstructionsandAnswers_Checkssheets. The product data is already formatted as an Excel Table. - The
Wholesale_Discount_Matrixsheet already contains brand-specific factor columns:Wholesale_Tier1_Factor,Wholesale_Tier2_Factor, andWholesale_Tier3_Factor.
3 Guided Analytics Challenges
Challenge 1: Calculate Gross Profit Margin Percentage
Compute gross margin percentage based on net selling price:
=([@[Selling_Price_INR]] - [@[Cost_Price_INR]]) / [@[Selling_Price_INR]]Math Note: Format as percentage 0.0%. For Row 2 (Standing Desk Dual Motor), (22999 - 14500) / 22999 = 36.96%.
Challenge 2: Two-Way Matrix Lookup via INDEX and MATCH
Calculate an illustrative Tier 2 practice price by looking up the product brand’s tier factor, then multiplying that factor by the product’s selling price:
=[@[Selling_Price_INR]] * INDEX(
Wholesale_Discount_Matrix!$B$2:$D$13,
MATCH([@Brand], Wholesale_Discount_Matrix!$A$2:$A$13, 0),
MATCH("Wholesale_Tier2_Factor", Wholesale_Discount_Matrix!$B$1:$D$1, 0)
)Challenge 3: Calculate Post-Tax Customer Settlement Price
Apply the synthetic tax factor to calculate an illustrative total:
=[@[Selling_Price_INR]] * (1 + [@[Tax_Slab_Pct]])10. Customer Support Helpdesk Ticket Resolution Dataset
Customer operations and IT service management (ITSM) analysts evaluate SLA breaches, mean time to resolution (MTTR), and customer satisfaction (CSAT) scores.
Schema Architecture
| Column Name | Data Type | Example Value | Business Description |
|---|---|---|---|
Ticket_ID | String | TCK-00001 | Synthetic ticket identifier |
Created_Date | DateTime | 2026-03-02 23:03 | Synthetic ticket creation time |
Resolved_Date | DateTime | 2026-03-04 11:03 | Synthetic ticket resolution time |
Priority | String | Medium | Practice priority (Critical, High, Medium, Low) |
Agent_Name | String | Agent 10 | Synthetic agent label |
Category | String | Account | Practice category (Billing, Technical, Account) |
CSAT_Score | Integer (1-5) | 3 | Synthetic practice score (1 to 5) |
Escalated_Flag | String | No | Escalated to Tier-2 engineering (Yes / No) |
First_Contact_Resolved | String | No | Whether the ticket was resolved on first contact (Yes / No) |
Sample Data Rows
| Ticket_ID | Created_Date | Resolved_Date | Priority | Agent_Name | Category | CSAT_Score | Escalated_Flag | First_Contact_Resolved |
|---|---|---|---|---|---|---|---|---|
| TCK-00001 | 2026-03-02 23:03 | 2026-03-04 11:03 | Medium | Agent 10 | Account | 3 | No | No |
| TCK-00002 | 2026-06-22 04:08 | 2026-06-23 04:08 | Medium | Agent 06 | Account | 5 | No | No |
| TCK-00003 | 2026-03-28 12:16 | 2026-03-28 19:46 | High | Agent 04 | Account | 5 | No | No |
| TCK-00004 | 2026-06-01 02:00 | 2026-06-01 06:45 | Critical | Agent 09 | Technical | 3 | No | Yes |
| TCK-00005 | 2026-04-09 01:52 | 2026-04-09 13:52 | High | Agent 07 | Account | 4 | Yes | No |
Download & Workbook Setup
- Workbook: Download support-tickets.xlsx — 400 synthetic ticket rows in
Ticket_Logs(Table_Support), a summary inAgent_Scorecard, plusInstructionsandAnswers_Checkssheets. The table includesFirst_Contact_Resolvedand is already formatted as an Excel Table. - Ensure date-time columns are formatted as
YYYY-MM-DD hh:mm.
3 Guided Analytics Challenges
Challenge 1: Calculate Resolution Velocity in Hours
In Column J (header: Resolution_Hours; Column I is First_Contact_Resolved in the workbook), calculate exact turnaround time using decimal date math:
=([@[Resolved_Date]] - [@[Created_Date]]) * 24Formula Explanation: Excel stores dates as whole days and hours as fractional days (1 hour = 1/24). Multiplying the difference by 24 converts the fractional day directly into decimal hours (e.g., 4.75 hours for 4 hours and 45 minutes).
Challenge 2: Calculate First Contact Resolution (FCR) Rate
Calculate the percentage of tickets resolved on first contact, using the workbook’s First_Contact_Resolved field:
=COUNTIF(Table_Support[First_Contact_Resolved], "Yes") / COUNTA(Table_Support[Ticket_ID])Challenge 3: Build an Agent Performance Scorecard Pivot Table
- Insert a Pivot Table from
Table_Support. - Drag
Agent_Nameto Rows. - Drag
Ticket_IDto Values (summarized byCount). - Drag
Resolution_Hoursto Values (summarized byAverage, formatted as0.0 hrs). - Drag
CSAT_Scoreto Values (summarized byAverage, formatted as0.00). - Apply PivotTable conditional formatting data bars to the Average CSAT column to instantly compare support engineer quality.
4 Essential Data Hygiene Drills Before Analysis
When a workbook has inconsistent formatting, whitespace, numeric text, or blank rows, these checks can help before analysis. The synthetic workbooks linked above are prepared practice data; these are general techniques for other files you may encounter:
1. The Ctrl+T Table Shield
Never apply filters or sorts on naked cell ranges. If you sort a single column without expanding the selection, Excel silently moves that column's values while leaving adjacent columns frozen—scrambling your records permanently. Press Ctrl + T to convert every dataset into a Table. Tables treat each row as an atomic record.
2. Remove Leading and Trailing Whitespace
A lookup key like "CUST-4401 " with an invisible trailing space will never match "CUST-4401", generating confusing #N/A errors. Use TRIM and CLEAN:
=TRIM(CLEAN(A2))3. Convert Numeric Text Strings to Real Numbers
If numbers are left-aligned or preceded by an apostrophe ('2499), Excel treats them as text. Formulas like SUM will ignore them silently. Coerce them into true numeric values using the double-unary operator:
=--A24. Isolate Blank Row Cutoffs
If a practice sheet contains an empty row at Row 50, Excel's AutoFilter halts at Row 49, completely omitting records from Row 51 onward. To fix this, inspect row headers or highlight the entire column range manually before clicking Filter.
Formula Cheatsheet for Excel Practice Sheets
Keep these formula patterns open as a quick reference while solving the challenges:
' 1. Modern Flexible Lookup (searches anywhere, returns anywhere)
=XLOOKUP(lookup_val, lookup_col, return_col, "Not Found")
' 2. Two-Dimensional Matrix Retrieval
=INDEX(matrix_range, MATCH(row_val, row_header_col, 0), MATCH(col_val, col_header_row, 0))
' 3. Multi-Condition Summation
=SUMIFS(sum_range, criteria_col1, "Criteria1", criteria_col2, ">100")
' 4. Multi-Condition Counting
=COUNTIFS(criteria_col1, "Approved", criteria_col2, "<50")
' 5. Dynamic Array Filter (Office 365 / Excel 2021+)
=FILTER(data_range, (col1 = "East") * (col2 >= 50000), "No Matching Records")
' 6. Unique Distinct Value List
=UNIQUE(Table_Orders[Category])
' 7. Dynamic Multi-Column Sort
=SORT(data_range, 3, -1)For advanced multi-dimensional breakdowns, pair these formulas with Excel Pivot Tables and interactive slicers.
Ready to advance beyond manual spreadsheet calculations? Turn these formula patterns into automated reporting models with our hands-on Excel for Data Analytics Course, featuring step-by-step video walkthroughs and downloadable milestone templates.
How to Build a Hiring-Ready Portfolio Dashboard
Transforming one of these raw practice sheets into a public portfolio project is how entry-level analysts stand out to hiring managers:
- Dedicated Architecture: Create three separate sheets in your final workbook:
Raw_Data: Read-only, locked Table containing the source records.Calculation_Engine: Staging formulas, dynamic array extracts, and pivot caches.Executive_Dashboard: 100% presentation layer with grid lines removed (Alt + W + V + G).
- Top KPI Scorecards: Use large 24pt bold cards for top-line metrics (Total Net Revenue, Blended Margin %, Active Headcount, Customer NPS).
- Interactive Slicers: Connect your pivot charts to visual Slicers for
Region,Quarter, andCategoryso hiring managers can interact with your file. - Business Recommendations: Add a callout text box explaining what the numbers mean. For example: "Sales in the East territory dropped 18% in Q2 due to supply chain stockouts on Audio SKUs; increasing safety stock buffer to 10 days will protect ₹14,00,000 in recurring revenue."
Master Excel for Data Analytics Step-by-Step
Work through real-world projects with guided feedback on Topfolio. All lessons are 100% free with an optional ₹99 verified certificate.
Explore Free Excel CourseReady to practice more advanced concepts? Explore our complete interactive curriculum at Free Excel Course and check out our specialized Excel for Data Analytics Course. All interactive modules and exercises on Topfolio are 100% free to access, with an optional ₹99 verified certificate available upon completion.
Frequently Asked Questions
Where can I download free Excel practice sheets with realistic business data?
Download the ten workbooks on this page. Their records are synthetic and use business-style examples for retail sales, SaaS metrics, financial reporting, and HR analytics; they are not records from real companies.
How do I practice Excel formulas on sample datasets without breaking rows?
Convert the dataset range into an Excel Table with Ctrl+T (Cmd+T on macOS), then confirm that the headers are recognized. Tables make it easier to filter and sort records together and support readable structured references such as [@Revenue]. See Microsoft's [overview of Excel tables](https://support.microsoft.com/en-us/office/overview-of-excel-tables-7ab0bb7d-3a9e-4b56-a3c9-6c94334e492c).
Which Excel functions should beginner to intermediate data analysts practice first?
Focus on five essential formula families: XLOOKUP (or INDEX/MATCH) for dimensional joins, SUMIFS and COUNTIFS for conditional aggregation, dynamic arrays (FILTER, UNIQUE, SORT) for automated reporting, and Pivot Tables with Slicers for multi-dimensional business summaries.
What is the difference between practicing on CSV files versus Excel workbooks (.xlsx)?
CSV files contain plain flat text without formulas, multi-sheet tabs, formatting, or data types. XLSX workbooks support structured Excel Tables, named ranges, multi-tab relational schemas, data validation rules, and pre-built calculation sheets.
Can I build a data analyst portfolio using free Excel practice datasets?
Yes. Use a synthetic workbook as a starting point for a portfolio exercise. Document your assumptions, formulas, checks, findings, and limitations so readers can follow your analysis.
Are Topfolio Excel practice courses and datasets completely free?
Yes, all interactive Excel lessons, datasets, and practice drills on Topfolio are 100% free. Learners can study at their own pace and optionally purchase a verified certificate of completion for ₹99 to showcase on LinkedIn and resumes.

Written by
Founder at Topfolio with 6+ years in data & analytics across JPMC, Ultrahuman, and high-growth startups. Sat on hiring panels, reviewed 500+ resumes, and writes practical SQL & data guides.
Related Articles
Excel Practice Online: 15 Business Exercises & Solutions
Practice Excel formulas online with 15 real business exercises. Master XLOOKUP, INDEX MATCH, dynamic arrays, pivot tables, and financial modeling.
Excel Formulas: The Complete Guide for Data Analysts
Master essential Excel formulas for data analysis. Learn XLOOKUP, INDEX/MATCH, SUMIFS, dynamic arrays (FILTER, UNIQUE), and text cleaning with practice data.
Build an Interactive Excel Pivot Dashboard in 10 Minutes
Step-by-step guide to building a dynamic Excel dashboard with PivotTables, PivotCharts, and Slicers in 10 minutes using the clean 3-sheet architecture.