Ravindra BagaleCourses & study guides मराठी Track your progress

Salon Management System in Excel: Appointments, Client History, Repeat Clients, Stylist Sales and Commission

Zoya's Salon in Nagpur has three stylists and a steady list of regulars. Zoya wants to know who comes back, who books and does not turn up, and how much each stylist brings in so commission is fair. This 6-sheet system keeps a service menu, logs every appointment with its status, builds a client history (visit days, spend, last visit, repeat or not), and reports sales, minutes worked and commission per stylist.

What you'll learn on this page

  • Keep services with price and minutes in Setup
  • Count sales only when an appointment is Done
  • Mark the first service of a client on a day so visits are counted once
  • Build client history with SUMIFS, COUNTIFS and MAXIFS
  • Work out stylist sales and commission
  • Show repeat clients and no-shows on a dashboard

Download the template: salon-appointment-management-system-template.xlsx: a 6-sheet system with example data and real formulas (Read me, Setup, Appointments, Clients, Report, Dashboard). Yellow cells are inputs you can type over; green cells hold formulas; blue rows are headers and totals. Replace the example data with your own and every report and the dashboard recalculate.

Made-up data: every name, amount, business and date on this page is made up for practice. Cities are used only to make the examples feel real.

1. The business story

Zoya's Salon, 15 to 17 October 2026, with 2 bookings for the 18th (made-up clients and prices).

What Value
Sales (Done only) ₹10,300
Services done 18 in 17 visit days
Average spend per visit ₹606
No-shows 2
Repeat clients 7 of 10
Top stylist by sales Zoya, ₹4,880 (commission at 20%: ₹976)

Shraddha Bagale had a haircut and a facial on 15 October: 2 services but 1 visit. Column N in Appointments makes that distinction, so visit days and average spend are right. Stylist salaries can run through the payroll calculator.

Setup Services, price Minutes Stylists Commission rate Appointments Date, time, client Service, stylist Status Discount Calculations Amount if Done New visit day? Client history Stylist totals Outputs Repeat clients Commission Dashboard

Figure 1. Services and stylists in Setup; Appointments is the one entry log; Clients, Report and Dashboard read it.

2. Build it sheet by sheet

Step 1. Setup: services and stylists

  1. On Setup, type the salon in B3 and the stylist commission (20%) in B4.
  2. From row 7: Service code, Service, Price, Minutes for 8 services. Lists in F (stylists), G (Booked, Done, No-show, Cancelled) and H (payment modes) feed the drop-downs (drop-down lists).

Step 2. Appointments: amount and visit days

  1. On Appointments, type appt no, date, time, client, service code, stylist, discount, payment and status. Service F5, price H5 and minutes I5 come from Setup with XLOOKUP (XLOOKUP).
  2. Amount K5: =IF(M5="Done",ROUND(H5*(1-J5),0),0): a booking earns nothing until it is Done.
  3. New visit day N5: =IF(AND(M5="Done",COUNTIFS($D$5:D5,D5,$B$5:B5,B5,$M$5:M5,"Done")=1),1,0). The growing ranges count this client's Done services on this date so far; only the first gets 1 (AND).
  4. Colour No-show red and Booked amber (highlight rules).
The appointment log: amount counts only when Done; column N marks a new visit day; no-shows in red

Figure 2. The appointment log: amount counts only when Done; column N marks a new visit day; no-shows in red

Step 3. Clients: history and repeat flag

  1. On Clients, list the clients. Visit days B5: =SUMIFS(Appointments!$N$5:$N$300,Appointments!$D$5:$D$300,A5).
  2. Services C5 with COUNTIFS on client and Done; spend D5 with SUMIFS on the amount (SUMIFS).
  3. Last visit E5: =MAXIFS(Appointments!$B$5:$B$300,Appointments!$D$5:$D$300,A5,Appointments!$M$5:$M$300,"Done") (MAXIFS). No-shows F5 with COUNTIFS.
  4. Repeat G5: =IF(B5>=2,"Yes","No"), green when Yes.
Client history: visit days, services, spend, last visit, no-shows and the repeat flag

Figure 3. Client history: visit days, services, spend, last visit, no-shows and the repeat flag

Step 4. Report: stylists and services

  1. On Report, per stylist: services done =COUNTIFS(Appointments!$G$5:$G$300,A5,Appointments!$M$5:$M$300,"Done"), minutes worked with SUMIFS, sales =SUMIFS(Appointments!$K$5:$K$300,Appointments!$G$5:$G$300,A5) and commission =ROUND(D5*Setup!$B$4,0).
  2. Per service from row 10: times done and sales, with data bars on sales.

Step 5. Dashboard

  1. KPI cards: sales =SUM(Appointments!$K$5:$K$300), services done, no-shows, average spend per visit =A5/SUM(Appointments!$N$5:$N$300), repeat clients =COUNTIF(Clients!G5:G40,"Yes")&" of "&COUNTA(Clients!A5:A40) and upcoming bookings (KPI cards).
  2. Add column charts of sales by stylist and by service.
The salon dashboard with sales, visits, no-shows, repeat clients and charts

Figure 4. The salon dashboard with sales, visits, no-shows, repeat clients and charts

Ravindra Bagale's Tip

Call every Booked client the evening before. A two-line reminder cuts no-shows more than any discount.

3. Formulas used

Cell Formula What it does
Appointments!F5 =XLOOKUP(E5,Setup!$A$7:$A$14,Setup!$B$7:$B$14,"Check code") Service name from the code
Appointments!H5 =XLOOKUP(E5,Setup!$A$7:$A$14,Setup!$C$7:$C$14,0) Price from Setup
Appointments!K5 =IF(M5="Done",ROUND(H5*(1-J5),0),0) Amount only when Done
Appointments!N5 =IF(AND(M5="Done",COUNTIFS($D$5:D5,D5,$B$5:B5,B5,$M$5:M5,"Done")=1),1,0) First Done service of the client that day
Clients!B5 =SUMIFS(Appointments!$N$5:$N$300,Appointments!$D$5:$D$300,A5) Visit days
Clients!C5 =COUNTIFS(Appointments!$D$5:$D$300,A5,Appointments!$M$5:$M$300,"Done") Services done
Clients!D5 =SUMIFS(Appointments!$K$5:$K$300,Appointments!$D$5:$D$300,A5) Spend
Clients!E5 =MAXIFS(Appointments!$B$5:$B$300,Appointments!$D$5:$D$300,A5,Appointments!$M$5:$M$300,"Done") Last visit
Clients!F5 =COUNTIFS(Appointments!$D$5:$D$300,A5,Appointments!$M$5:$M$300,"No-show") No-shows
Clients!G5 =IF(B5>=2,"Yes","No") Repeat client?
Report!B5 =COUNTIFS(Appointments!$G$5:$G$300,A5,Appointments!$M$5:$M$300,"Done") Services done by the stylist
Report!C5 =SUMIFS(Appointments!$I$5:$I$300,Appointments!$G$5:$G$300,A5,Appointments!$M$5:$M$300,"Done") Minutes worked
Report!D5 =SUMIFS(Appointments!$K$5:$K$300,Appointments!$G$5:$G$300,A5) Stylist sales
Report!E5 =ROUND(D5*Setup!$B$4,0) Commission
Dashboard!D5 =A5/SUM(Appointments!$N$5:$N$300) Average spend per visit
Dashboard!E5 =COUNTIF(Clients!G5:G40,"Yes")&" of "&COUNTA(Clients!A5:A40) Repeat clients of all clients

Every formula above is written in the template, so you can click a cell and see it in the formula bar. All values on this page were recalculated in LibreOffice with zero errors.

4. Common mistakes

  1. Counting every booking as a sale. A booking is a promise. Only Done rows have an amount, so no-shows and future bookings do not inflate sales.
  2. Counting services as visits. Two services on one day is one visit. Without column N, average spend per visit would look too low and repeat counts too high.
  3. Typing client names in different ways. "Ravina" and "Ravina " are two clients to COUNTIFS. Use a client list and a drop-down, or a client ID.
  4. Deleting no-shows. Keep them with status No-show; they tell you whom to call for confirmation next time.
  5. Commission on the price, not on the amount. Pay commission on what the client actually paid after discount: the Amount column.

Ravindra Bagale's Tip

Share each stylist's Report row with them every week. When people see their own numbers, the sheet stops being a secret and starts being a goal.

5. More real examples

Example 1: Barber shop with walk-ins. Skip the time column and type status Done directly; the same client history works.

Example 2: Spa with packages. Add a Package service with a price for 5 sessions and a Sessions used COUNTIFS per client.

Example 3: Reminder list. Add a column on Clients: days since last visit = as-of date − last visit, and filter clients above 30 days to call.

Quick revision cards

Quick revision

Each card shows formulas from this page, each with an example and its answer from the template. Scan the QR code on a card to open this lesson. All names and numbers are made up for practice.

Revision card 1 for Salon Management System in Excel: Amount only when Done: =IF(M5="Done",ROUND(H5*(1-J5),0),0) gives ₹200; Visit days: =SUMIFS(Appointments!$N$5:$N$300,Appointments!$D$5:$D$300,A5) gives 2; Spend: =SUMIFS(Appointments!$K$5:$K$300,Appointments!$D$5:$D$300,A5) gives ₹350.
Card 1 of 2: Salon Management System in Excel · Download PNG
Revision card 2 for Salon Management System in Excel: Repeat client?: =IF(B5>=2,"Yes","No") gives Yes; Stylist sales: =SUMIFS(Appointments!$K$5:$K$300,Appointments!$G$5:$G$300,A5) gives ₹4,880; Commission: =ROUND(D5*Setup!$B$4,0) gives ₹976. Includes an example data table.
Card 2 of 2: Salon Management System in Excel · Download PNG

More cards: Ravi Sir's Cards.

6. Frequently asked questions

How do I track salon appointments in Excel?

One row per service booked with date, time, client, service, stylist and status. Amount is counted only when the status is Done.

How do I count client visits, not services?

Mark the first Done service of a client on each date with COUNTIFS on growing ranges, then add those marks with SUMIFS per client.

How do I find repeat clients?

A client with 2 or more visit days is a repeat client: =IF(B5>=2,"Yes","No"), then COUNTIF the Yes values.

How do I calculate stylist commission?

Total the Done amounts per stylist with SUMIFS and multiply by the commission rate in Setup.

How do I find the last visit date?

MAXIFS over the date column with the client and Done as conditions.

7. Quick quiz

Ten questions on this page. Sign in to save your score.

Loading practice tasks...

  1. Total deals won (Easy): Add up Deals won in D2:D11.
  2. Average avg deal value (Easy): Average of E2:E11, rounded to 2 decimals.
  3. Rows in North (Easy): How many rows have Region "North"?
  4. Largest deals won (Easy): The largest value in D2:D11.
  5. Deals won for North (Medium): Total of D2:D11 where B is "North".
  6. North in Glasgow (Medium): Total of D2:D11 where B is "North" and C is "Glasgow".
  7. Best in North (Medium): Largest E2:E11 value where B is "North".
  8. Value of row 2 (Medium): D2 times E2.
  9. Look up Olivia Brown (Medium): The Deals won for "Olivia Brown" (use a lookup on column A).
  10. Total value (Hard): Sum of D times E for all rows.
  11. Share of North (Hard): Share of D2:D11 that is "North", rounded to 3 decimals.
  12. Rank of row 2 (Hard): Rank of D2 among D2:D11 (largest = 1).
  13. Above average? (Hard): "Above" if E2 is above the average of E2:E11, else "Below".