Taj Hotels Dashboard in Excel: Occupancy, ADR, RevPAR, F&B and Guest KPIs
A luxury hotel sells rooms, food and spa. Occupancy, ADR and RevPAR tell the manager if rooms earn enough. This page gives you a ready Excel dashboard for it. It has 1,700 example rows, 15 KPI cards, 6 charts and 3 drop-down filters.
What you'll learn on this page
- Why a Taj-style luxury hotels business needs a dashboard
- What is inside each sheet of the workbook
- What the 15 KPIs mean and the formula behind each
- How the City, Guest type and Month drop-downs change every number
- How to add new data safely
- Common mistakes and how to avoid them
Download the template: taj-dashboard-template.xlsx (Excel workbook, 6 sheets, example data).
Example data only
Every number in this workbook is made up for practice. It is not real Taj Hotels (IHCL) data and not an official report. The colours are only inspired by the brand; there is no logo.

Figure 1. The Dashboard sheet with all filters set to All (example data)
In short
This Taj-style luxury hotels dashboard shows 1,700 example rows on one screen. Pick a filter and all 15 KPI cards and 6 charts change at once. All data is made up for practice.
थोडक्यात
हा Taj-style luxury hotels dashboard 1,700 example rows एका screen वर दाखवतो. पिवळ्या drop-down मधून filter निवडा, की सगळी 15 KPI cards आणि 6 charts लगेच बदलतात. सगळा data सरावासाठी काल्पनिक आहे.
संक्षेप में
यह Taj-style luxury hotels dashboard 1,700 example rows एक screen पर दिखाता है. पीले drop-down से filter चुनें, तो सभी 15 KPI cards और 6 charts तुरंत बदल जाते हैं. सारा data अभ्यास के लिए काल्पनिक है.
1. Why this dashboard, what it shows, how to start
Why
A luxury hotel sells rooms, food and spa. Occupancy, ADR and RevPAR tell the manager if rooms earn enough. Looking at 1,700 rows one by one is slow. A dashboard turns them into a few clear numbers.
What
The dashboard answers questions like these:
- Bookings: All bookings made.
- Occupancy: Room nights sold ÷ available room nights (rooms: Pune 36, Solapur 14, Nashik 22, Sambhaji Nagar 20, Kolhapur 20, Nagpur 28 = 140; × 181 days, or 30 for one month).
- RevPAR: Revenue Per Available Room: room revenue ÷ available room nights (= ADR × occupancy).
- Avg length of stay: Average nights per completed booking.
How
- Download taj-dashboard-template.xlsx.
- Open it in Excel. Click Enable Editing if Excel asks.
- Stay on the first sheet, Dashboard.
- Read the 15 cards from left to right, top to bottom.
- Then change one drop-down in row 6 and watch the numbers move.
2. What is inside the workbook
Why
Each sheet has one job. When you know the job, you know where to look and what not to touch.
What
| Sheet | What it holds |
|---|---|
| Dashboard | 15 KPI cards, 3 yellow drop-down filters, 6 charts and a Top 5 table. |
| Data | The example rows, one row per booking. The last column, Inc, is a formula. |
| Calc | Small helper tables (by month, by city and so on) that feed the charts. |
| Rules & Instructions | How to use it, what each KPI means, data rules, how to add data, do's and don'ts. |
| Formulas used | Every formula in the file, cell by cell, with what it does. |
| Lists | The values shown in each drop-down list. |
The Data sheet has these columns: BookingID, Month, City, Hotel, RoomType, Channel, GuestType, LeadDays, Nights, Rooms, RoomNights, ADR, RoomRevenue, FnBRevenue, SpaRevenue, Cancelled, Repeat, Loyalty, Rating and Inc.
How
- Click each sheet tab at the bottom once.
- On Data, press Ctrl+Down to see the last row.
- On Rules & Instructions, read section 3 (data rules) before you type anything.
- On Formulas used, find any formula you want to learn.
3. The 15 KPIs: what each one means
Why
KPI means Key Performance Indicator: one number that tells you if the business is doing well. A KPI is useful only if everyone reads it the same way.
What
Example values are for all rows (every filter set to All). In the formulas, Data[Column] means that whole column on the Data sheet; in the workbook it is written as a range like Data!$B$2:$B$1701.
| KPI | What it means | Formula (Dashboard cell) | Example value |
|---|---|---|---|
| Bookings | All bookings made. | =COUNTIFS(Data[Inc],1)Dashboard!B9 |
1,700 |
| Room nights sold | Rooms × nights for stays that happened. | =SUMIFS(Data[RoomNights],Data[Inc],1)Dashboard!E9 |
15,964 |
| Occupancy | Room nights sold ÷ available room nights (rooms: Pune 36, Solapur 14, Nashik 22, Sambhaji Nagar 20, Kolhapur 20, Nagpur 28 = 140; × 181 days, or 30 for one month). Target rule: card turns green when the value is ≥ 0.7. | =IFERROR((SUMIFS(Data[RoomNights],Data[Inc],1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0)Dashboard!H9 |
63.0% |
| ADR | Average Daily Rate: room revenue ÷ room nights sold. | =IFERROR((SUMIFS(Data[RoomRevenue],Data[Inc],1))/(SUMIFS(Data[RoomNights],Data[Inc],1)),0)Dashboard!K9 |
₹17,015 |
| RevPAR | Revenue Per Available Room: room revenue ÷ available room nights (= ADR × occupancy). | =IFERROR((SUMIFS(Data[RoomRevenue],Data[Inc],1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0)Dashboard!N9 |
₹10,719 |
| Total revenue | All revenue from stays. | =SUMIFS(Data[RoomRevenue],Data[Inc],1)+SUMIFS(Data[FnBRevenue],Data[Inc],1)+SUMIFS(Data[SpaRevenue],Data[Inc],1)Dashboard!B13 |
₹36,25,84,619 |
| F&B share | Restaurant, banquet and bar revenue ÷ total revenue. | =IFERROR((SUMIFS(Data[FnBRevenue],Data[Inc],1))/(SUMIFS(Data[RoomRevenue],Data[Inc],1)+SUMIFS(Data[FnBRevenue],Data[Inc],1)+SUMIFS(Data[SpaRevenue],Data[Inc],1)),0)Dashboard!E13 |
24.0% |
| Spa revenue | ₹ from spa treatments. | =SUMIFS(Data[SpaRevenue],Data[Inc],1)Dashboard!H13 |
₹38,86,500 |
| Avg length of stay | Average nights per completed booking. | =IFERROR(AVERAGEIFS(Data[Nights],Data[Inc],1,Data[Cancelled],"No"),0)Dashboard!K13 |
2.5 nights |
| Avg booking lead | Days between booking and arrival. | =IFERROR(AVERAGEIFS(Data[LeadDays],Data[Inc],1),0)Dashboard!N13 |
23.8 days |
| Cancellation rate | Cancelled ÷ all bookings. Target rule: card turns red when the value is > 0.1. | =IFERROR((COUNTIFS(Data[Inc],1,Data[Cancelled],"Yes"))/(COUNTIFS(Data[Inc],1)),0)Dashboard!B17 |
9.1% |
| Direct booking share | Share booked on the hotel's own site/app. Target rule: card turns green when the value is ≥ 0.35. | =IFERROR((COUNTIFS(Data[Inc],1,Data[Channel],"Direct web/app"))/(COUNTIFS(Data[Inc],1)),0)Dashboard!E17 |
36.8% |
| Repeat guests | Share of bookings from guests who stayed before. | =IFERROR((COUNTIFS(Data[Inc],1,Data[Repeat],"Yes"))/(COUNTIFS(Data[Inc],1)),0)Dashboard!H17 |
26.7% |
| Guest rating | Average guest review score. Target rule: card turns green when the value is ≥ 4.5. | =IFERROR(AVERAGEIFS(Data[Rating],Data[Inc],1),0)Dashboard!K17 |
4.59 ★ |
| Suite revenue share | Share of room revenue from suites. | =IFERROR((SUMIFS(Data[RoomRevenue],Data[Inc],1,Data[RoomType],"Suite")+SUMIFS(Data[RoomRevenue],Data[Inc],1,Data[RoomType],"Grand Suite"))/(SUMIFS(Data[RoomRevenue],Data[Inc],1)),0)Dashboard!N17 |
46.2% |
How
- Read the small grey line under each card: it says what the card counts.
- A green card meets its target rule. A red card needs attention.
- Click a card and look at the formula bar to see the real formula.
- Change a filter, for example City = Pune, and see which cards turn red or green.
4. The drop-down filters
Why
A total for the whole business hides problems. Filters let you look at one City, one Guest type or one Month at a time.
What
Row 6 has three yellow cells with drop-down lists: City, Guest type and Month. Each list starts with All. The Data sheet has one extra column, Inc (include). Its formula gives 1 when the row matches all three filters, otherwise 0:
=IF(AND(OR(Dashboard!$C$6="All",C2=Dashboard!$C$6),OR(Dashboard!$F$6="All",G2=Dashboard!$F$6),OR(Dashboard!$I$6="All",B2=Dashboard!$I$6)),1,0)
Every KPI and chart uses Data[Inc],1 as its first condition, so only matching rows are counted.
How
- Click the yellow cell next to City.
- Click the small arrow and pick a value.
- Look at the line 'Rows in view' to see how many rows match.
- Pick All to remove that filter.
- Set all three back to All before you save.
5. The charts and the Top 5 table
Why
Numbers tell you how much. Charts show you where and when: which month dropped, which city leads.
What
- Revenue mix by month
- Bookings by channel
- Occupancy by month
- ADR by room type
- Revenue by guest type
- Room revenue by hotel, occupancy line
- Table: Hotels ranked by room revenue (uses INDEX, MATCH and LARGE)
Each chart reads a small table on the Calc sheet. Those tables also use the Inc column, so the charts follow the filters.
How
- Point at a bar or line to see its exact value.
- To see where a chart's numbers come from, right-click it and choose Select Data.
- Open the Calc sheet and find the table with the same title.
- Do not type in Calc; it is all formulas.
6. How to add new data
Why
A dashboard is only useful if you keep feeding it. Adding rows the wrong way breaks totals without any error.
What
| Column | What it holds | Rule |
|---|---|---|
BookingID, Month |
Booking code; arrival month | Unique |
City, Hotel |
One example palace per city (rooms: Pune 36, Solapur 14, Nashik 22, Sambhaji Nagar 20, Kolhapur 20, Nagpur 28) | Exact |
RoomType, Channel, GuestType |
Room category, how booked, why travelling | Exact spellings |
LeadDays, Nights, Rooms |
Days booked ahead, nights, rooms | Whole numbers |
RoomNights |
Rooms × Nights; 0 if cancelled | Typed value |
ADR |
₹ rate per room-night (example) | Number |
RoomRevenue, FnBRevenue, SpaRevenue |
₹ revenue; 0 if cancelled | Numbers |
Cancelled, Repeat, Loyalty |
Flags | Exact |
Rating |
Guest score 1-5; blank if cancelled | One decimal |
Occupancy rule |
Available nights = rooms of the hotels in view (140 total) × 181 days (or 30 for one month) | Change the room counts {36,14,...} and 181/30 in the formulas if your hotel differs |
How
- Go to the first empty row under the Data table.
- Type or paste the new rows. Keep the same spelling as the lists (for example Pune).
- Check that Inc filled down by itself (it shows 1 or 0).
- The formulas read rows 2 to 1701. If your data goes past row 1701, use Find & Replace on the Dashboard and Calc sheets to change 1701 to your new last row.
- Press F9 if numbers do not update, then set the filters to All and compare totals.
Use it in 3 steps
1) Open the Dashboard sheet. 2) Pick a value in a yellow cell in row 6, like City = Pune. 3) Read the cards: green is good, red needs attention.
3 steps मध्ये वापरा
1) Dashboard sheet उघडा. 2) Row 6 मधल्या पिवळ्या cell मध्ये value निवडा, उदा. City = Pune. 3) Cards वाचा: हिरवा म्हणजे चांगलं, लाल म्हणजे लक्ष द्या.
3 steps में इस्तेमाल करें
1) Dashboard sheet खोलें. 2) Row 6 के पीले cell में value चुनें, जैसे City = Pune. 3) Cards पढ़ें: हरा मतलब अच्छा, लाल मतलब ध्यान दें.
7. Formulas used
This is the same list as the 'Formulas used' sheet. A formula marked 'copied down' is the same in the rows below it.
| Cell | Formula | What it does |
|---|---|---|
| Data!T2 | =IF(AND(OR(Dashboard!$C$6="All",C2=Dashboard!$C$6),OR(Dashboard!$F$6="All",G2=Dashboard!$F$6),OR(Dashboard!$I$6="All",B2=Dashboard!$I$6)),1,0) |
Inc flag: 1 when the row matches every Dashboard filter (copied down every row) |
| Dashboard!K6 | ="Rows in view: "&TEXT(SUM(Data!$T$2:$T$1701),"#,##0")&" of 1,700 | Yellow cells = drop-down filters" |
Counts rows in view |
| Dashboard!B9 | =COUNTIFS(Data!$T$2:$T$1701,1) |
KPI: Bookings |
| Dashboard!E9 | =SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1) |
KPI: Room nights sold |
| Dashboard!H9 | =IFERROR((SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0) |
KPI: Occupancy |
| Dashboard!K9 | =IFERROR((SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1))/(SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1)),0) |
KPI: ADR |
| Dashboard!N9 | =IFERROR((SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0) |
KPI: RevPAR |
| Dashboard!B13 | =SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1)+SUMIFS(Data!$N$2:$N$1701,Data!$T$2:$T$1701,1)+SUMIFS(Data!$O$2:$O$1701,Data!$T$2:$T$1701,1) |
KPI: Total revenue |
| Dashboard!E13 | =IFERROR((SUMIFS(Data!$N$2:$N$1701,Data!$T$2:$T$1701,1))/(SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1)+SUMIFS(Data!$N$2:$N$1701,Data!$T$2:$T$1701,1)+SUMIFS(Data!$O$2:$O$1701,Data!$T$2:$T$1701,1)),0) |
KPI: F&B share |
| Dashboard!H13 | =SUMIFS(Data!$O$2:$O$1701,Data!$T$2:$T$1701,1) |
KPI: Spa revenue |
| Dashboard!K13 | =IFERROR(AVERAGEIFS(Data!$I$2:$I$1701,Data!$T$2:$T$1701,1,Data!$P$2:$P$1701,"No"),0) |
KPI: Avg length of stay |
| Dashboard!N13 | =IFERROR(AVERAGEIFS(Data!$H$2:$H$1701,Data!$T$2:$T$1701,1),0) |
KPI: Avg booking lead |
| Dashboard!B17 | =IFERROR((COUNTIFS(Data!$T$2:$T$1701,1,Data!$P$2:$P$1701,"Yes"))/(COUNTIFS(Data!$T$2:$T$1701,1)),0) |
KPI: Cancellation rate |
| Dashboard!E17 | =IFERROR((COUNTIFS(Data!$T$2:$T$1701,1,Data!$F$2:$F$1701,"Direct web/app"))/(COUNTIFS(Data!$T$2:$T$1701,1)),0) |
KPI: Direct booking share |
| Dashboard!H17 | =IFERROR((COUNTIFS(Data!$T$2:$T$1701,1,Data!$Q$2:$Q$1701,"Yes"))/(COUNTIFS(Data!$T$2:$T$1701,1)),0) |
KPI: Repeat guests |
| Dashboard!K17 | =IFERROR(AVERAGEIFS(Data!$S$2:$S$1701,Data!$T$2:$T$1701,1),0) |
KPI: Guest rating |
| Dashboard!N17 | =IFERROR((SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$E$2:$E$1701,"Suite")+SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$E$2:$E$1701,"Grand Suite"))/(SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1)),0) |
KPI: Suite revenue share |
| Calc!B5 | =SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$E$2:$E$1701,$A5) |
By room type: Room revenue for Deluxe (copied down) |
| Calc!C5 | =SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1,Data!$E$2:$E$1701,$A5) |
By room type: Room nights for Deluxe (copied down) |
| Calc!D5 | =IFERROR(B5/C5,0) |
By room type: ADR for Deluxe (copied down) |
| Calc!B13 | =COUNTIFS(Data!$T$2:$T$1701,1,Data!$F$2:$F$1701,$A13) |
By channel: Bookings for Direct web/app (copied down) |
| Calc!B21 | =SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$B$2:$B$1701,$A21) |
By month: Rooms for Jan (copied down) |
| Calc!C21 | =SUMIFS(Data!$N$2:$N$1701,Data!$T$2:$T$1701,1,Data!$B$2:$B$1701,$A21) |
By month: F&B for Jan (copied down) |
| Calc!D21 | =SUMIFS(Data!$O$2:$O$1701,Data!$T$2:$T$1701,1,Data!$B$2:$B$1701,$A21) |
By month: Spa for Jan (copied down) |
| Calc!E21 | =IFERROR(SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1,Data!$B$2:$B$1701,$A21)/(IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*30),0) |
By month: Occupancy for Jan (copied down) |
| Calc!B31 | =IFERROR(SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$G$2:$G$1701,$A31)+SUMIFS(Data!$N$2:$N$1701,Data!$T$2:$T$1701,1,Data!$G$2:$G$1701,$A31),0) |
By guest type: Total revenue for Business (copied down) |
| Calc!C31 | =IFERROR(AVERAGEIFS(Data!$H$2:$H$1701,Data!$T$2:$T$1701,1,Data!$G$2:$G$1701,$A31),0) |
By guest type: Avg lead days for Business (copied down) |
| Calc!B39 | =SUMIFS(Data!$M$2:$M$1701,Data!$T$2:$T$1701,1,Data!$D$2:$D$1701,$A39) |
By hotel: Room revenue for Pune Palace (copied down) |
| Calc!C39 | =SUMIFS(Data!$K$2:$K$1701,Data!$T$2:$T$1701,1,Data!$D$2:$D$1701,$A39) |
By hotel: Room nights for Pune Palace (copied down) |
| Calc!D39 | =IFERROR(B39/C39,0) |
By hotel: ADR for Pune Palace (copied down) |
| Calc!E39 | =IFERROR(C39/(INDEX({36,14,22,20,20,28},MATCH($A39,{"Pune Palace","Solapur Palace","Nashik Palace","Sambhaji Nagar Palace","Kolhapur Palace","Nagpur Palace"},0))*IF(Dashboard!$I$6="All",181,30)),0) |
By hotel: Occupancy for Pune Palace (copied down) |
| Calc!F39 | =IFERROR(AVERAGEIFS(Data!$S$2:$S$1701,Data!$T$2:$T$1701,1,Data!$D$2:$D$1701,$A39),0) |
By hotel: Rating for Pune Palace (copied down) |
| Calc!G39 | =B39+ROW()/1000000 |
By hotel: Rank key for Pune Palace (copied down) |
| Dashboard!D55 | =IFERROR(INDEX(Calc!$A$39:$A$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'Hotel' (copied down) |
| Dashboard!F55 | =IFERROR(INDEX(Calc!$B$39:$B$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'Room revenue' (copied down) |
| Dashboard!H55 | =IFERROR(INDEX(Calc!$C$39:$C$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'Room nights' (copied down) |
| Dashboard!J55 | =IFERROR(INDEX(Calc!$D$39:$D$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'ADR' (copied down) |
| Dashboard!L55 | =IFERROR(INDEX(Calc!$E$39:$E$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'Occupancy' (copied down) |
| Dashboard!N55 | =IFERROR(INDEX(Calc!$F$39:$F$44,MATCH(LARGE(Calc!$G$39:$G$44,$B55),Calc!$G$39:$G$44,0)),"-") |
Hotels ranked by room revenue: column 'Rating' (copied down) |
8. Common mistakes
| Mistake | What goes wrong | Fix |
|---|---|---|
| Typing ₹ or a comma as text in a number cell | SUMIFS and AVERAGEIFS skip text, so totals become too small. | Type only the number. The cell format adds ₹. |
| A different spelling, like an extra space after a name | The row never matches the City filter or the Calc tables. | Copy values from the Lists sheet, or use Data Validation. |
| Averaging the per-row values to get Occupancy | An average of averages gives the wrong answer. | Divide totals, as the KPI formula does: =IFERROR((SUMIFS(Data[RoomNights],Data[Inc],1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0) |
| Adding rows below row 1701 and not updating the ranges | New rows are left out of every KPI. | Update the last row number in the formulas (see step 4 above). |
| Typing over a KPI card or the Inc column | The formula is lost and the card stops changing. | Press Ctrl+Z, or copy the formula back from the 'Formulas used' sheet. |
| Showing these numbers as real company results | This is example data, not Taj Hotels (IHCL) data. | Always say 'example data' when you share a screenshot. |
9. FAQ
How do I calculate Occupancy in Excel?
Room nights sold ÷ available room nights (rooms: Pune 36, Solapur 14, Nashik 22, Sambhaji Nagar 20, Kolhapur 20, Nagpur 28 = 140; × 181 days, or 30 for one month). The workbook uses =IFERROR((SUMIFS(Data[RoomNights],Data[Inc],1))/((IF(Dashboard!$C$6="All",140,INDEX({36,14,22,20,20,28},MATCH(Dashboard!$C$6,{"Pune","Solapur","Nashik","Sambhaji Nagar","Kolhapur","Nagpur"},0)))*IF(Dashboard!$I$6="All",181,30))),0) in Dashboard!H9.
How do I calculate ADR in Excel?
Average Daily Rate: room revenue ÷ room nights sold. Formula: =IFERROR((SUMIFS(Data[RoomRevenue],Data[Inc],1))/(SUMIFS(Data[RoomNights],Data[Inc],1)),0).
How do the drop-down filters change every KPI?
Each Data row has an Inc formula. It gives 1 when the row matches all three drop-downs (City, Guest type, Month), or the drop-down says All. Every KPI counts only rows where Inc = 1.
Is this real Taj Hotels (IHCL) data?
No. All 1,700 rows are made up for practice. The colours are only inspired by the brand. It is not an official Taj Hotels (IHCL) report.
Which Excel version do I need?
Excel 2010 or newer works, because the file uses COUNTIFS, SUMIFS, AVERAGEIFS, IFERROR, INDEX and MATCH. We checked it in LibreOffice Calc with zero errors.
10. Practice tasks
- Set City = Pune. Write down the new value of Occupancy.
- Which month is highest in the chart 'Revenue mix by month'?
- Add one new row to the Data sheet and check that Bookings changes.
- Change one target rule in Conditional Formatting (Home › Conditional Formatting › Manage Rules) and watch the card colour.
Remember
KPI cards, the Calc sheet and the Inc column hold formulas, so never type on them. Add new data only under the Data table, with the same spellings.
लक्षात ठेवा
KPI cards, Calc sheet आणि Inc column मध्ये formulas आहेत, त्यावर काही type करू नका. नवीन data फक्त Data table च्या खाली, त्याच spelling ने जोडा.
याद रखें
KPI cards, Calc sheet और Inc column में formulas हैं, उन पर कुछ type न करें. नया data सिर्फ Data table के नीचे, उसी spelling के साथ जोड़ें.
Related: all Excel dashboards · Excel dashboards chapter · SUMIFS, COUNTIFS and AVERAGEIFS · KPI cards in Excel
Loading practice tasks...
- Total nights (Easy): Add up Nights in D2:D11.
- Average rate per night (Easy): Average of E2:E11, rounded to 2 decimals.
- Rows in Standard (Easy): How many rows have Room type "Standard"?
- Largest nights (Easy): The largest value in D2:D11.
- Nights for Standard (Medium): Total of D2:D11 where B is "Standard".
- Standard in London (Medium): Total of D2:D11 where B is "Standard" and C is "London".
- Best in Standard (Medium): Largest E2:E11 value where B is "Standard".
- Value of row 2 (Medium): D2 times E2.
- Look up Sneha Patil (Medium): The Nights for "Sneha Patil" (use a lookup on column A).
- Total value (Hard): Sum of D times E for all rows.
- Share of Standard (Hard): Share of D2:D11 that is "Standard", rounded to 3 decimals.
- Rank of row 2 (Hard): Rank of D2 among D2:D11 (largest = 1).
- Above average? (Hard): "Above" if E2 is above the average of E2:E11, else "Below".