Short Term Rental daily price calculator

ffoott

New Member
Joined
Apr 3, 2020
Messages
5
Office Version
  1. 365
Platform
  1. Windows
Hello,

I've been trying to create an Excel calculator that would allow me to easily give a quote to a potencial guest. My Excel knowledge is pretty limited, but I did manage to get it to work in calculating a value given a specific set of conditions, like:

  • Is it a weekend?
  • Is it low, intermediate or high season?
  • How many guests are there?
  • How many days will they stay?
  • Are there any coupons or promotions to consider?
This is the formula so far (not sure it this helps):

=(AG5IF(AK5="Baixa (Novembro-Abril)"; AQ11; 1)IF(AK5="Alta (Junho-Setembro)"; AQ12; 1)IF(AK5="Intermédia (Maio e Outubro)"; AQ13; 1)+IF(AI5="Yes"; AQ19AJ5AN5; "0")+IF(AH5="Yes"; AQ18; "0")+IF(AJ5>2; 10AJ5-20; 0))IF(AM5="Emigrante (7,5%)"; AQ16; 1)IF(AM5="Portugal (10%)"; AQ15; 1)IF(AM5="Açores (12,5%)"; AQ17; 1)IF(AM5="Cliente (15%)"; AQ14; 1)*AN5

With this I am able to successfully calculate my quote, the exception being:

  • If the dates our guest needs a quote for include both weekdays and weekends.
  • If the dates our guest needs a quote for include dates that are associated with two different price seasons.
Still, what I really am striving to achieve is a formula or setup that, given the input of a check in and check out date is able to figure out:

  • How many weekend days that date interval has and attribute these days an extra value.
  1. What price season these dates fall into and attribute a specific multiplier to them. If they fall on multiple price seasons, be able to sort that and attribute them distinct multipliers.
I imagine that a table listing date intervals, their assigned price season and their specific multipliers is part of the answer and have created one - I just don't know how to to plug it in.


Thank you very much!!
 

Excel Facts

How to fill five years of quarters?
Type 1Q-2023 in a cell. Grab the fill handle and drag down or right. After 4Q-2023, Excel will jump to 1Q-2024. Dash can be any character.
Hi Ffoott,

There's many ways of approaching this, and each raises many questions, but let me ask one question up front: Many hotels have a limit of 14 days duration per booking, do you have the same?

The reason for the question is that the simplest approach would be to present each day of the booking as a row on the sheet with columns showing which discounts/uplifts have been applied to get that daily rate. This would allow you to easily see the weekend/season/Holiday?/coupon discounts and uplifts.
 
Upvote 0
That you for your reply.

In my particular case, the max number of days is 29.

As for your suggestion, although that is a viable option, I would prefer to have it do these calculations automatically, based on the dates given to it. In my head I feel such a calculation is possible, but don't really know to to go about it in Excel.

This would be optimal because, the rest of the variables, that dotn depends on the dates, don't really change from day to day - they are either yes or no throughout the booking duration, like breakfast, number of guests, discount, etc.

If I were to implement the option you mentioned, in a 29 day booking I'd have to manually adjust all of that, line per line...
 
Upvote 0
With further digging and an answer in another forum I was able to finish my project - thank you just the same!
 
Upvote 0
Oh well! I just finished putting an example together so I'm going to post that anyway...

Personally I would calculate all discounts/uplifts for every day in a calendar and then on the Pricing tab allow specification of dates and factors impacting price then list each day and the factors which made up the price.

e.g.

Cell Formulas
RangeFormula
I4I4=D4-C4
J4J4=SUM(J7:J37)
B7B7=IF(ROWS($B7:$B$7)>$I$4+1,"",INDEX(Calendar!A$2:A$5000,MATCH($C$4+ROWS($B7:$B$7)-1,Calendar!$A$2:$A$5000,0)))
C7:I15C7=IF($B7="","",INDEX(Calendar!B$2:B$5000,MATCH($B7,Calendar!$A$2:$A$5000,0)))
J7:J15J7=IF($B7="","",(SUM(D7:I7)*Calendar!$J$2)+Calendar!$J$2)
B8:B15B8=IF(ROWS($B$7:$B8)>$I$4+1,"",INDEX(Calendar!A$2:A$5000,MATCH($C$4+ROWS($B$7:$B8)-1,Calendar!$A$2:$A$5000,0)))
Cells with Conditional Formatting
CellConditionCell FormatStop If True
D4Expression=OR($D$4<$C$4,$D$4>$C$4+29)textNO
Cells with Data Validation
CellAllowCriteria
D4List=INDIRECT(Calendar!$AB$1)


...and the Calendar tab has every date and the data needed to calculate the per day price:

ffoott.xlsx
ABCDEFGHIJKLMNOPQRSTUVWXYZAAAB
1DatesDay Saturday Sunday Holiday Number of Guests SeasonCouponBaseHolidaysHolidateNo. of GuestsDiscountSeasonStart DateEnd DateSeasonal UpliftCouponDiscountCoupon EndsData ListCalendar!$A$152:$A$181
201-Jan-19Tue  20.00%-12.50% -6.00%$100 New Year01-Jan-1910.00%Low01-Jan-1930-Apr-19SIXOFF-6%31-May-19
302-Jan-19Wed   -12.50% -6.00%Saturday upliftNew Year01-Jan-205-12.50%Low01-Nov-1931-Mar-20TENLESS-10%31-May-20
403-Jan-19Thu   -12.50% -6.00%12%New Year01-Jan-2110-15.00%Intermediate01-May-1931-May-1915.00%
504-Jan-19Fri   -12.50% -6.00%Sunday upliftNew Year01-Jan-2220-16.50%Intermediate01-Oct-1931-Oct-1915.00%
605-Jan-19Sat12.00%  -12.50% -6.00%15%New Year01-Jan-23999-20.00%High01-Jun-1930-Sep-1925.00%
706-Jan-19Sun 15.00% -12.50% -6.00%Holiday upliftNew Year01-Jan-24Low01-Jan-2030-Apr-20
807-Jan-19Mon   -12.50% -6.00%20%Feast of Toadstool01-Jun-19Low01-Nov-2031-Mar-21
908-Jan-19Tue   -12.50% -6.00%Feast of Toadstool02-Jun-19Intermediate01-May-2031-May-2015.00%
1009-Jan-19Wed   -12.50% -6.00%Feast of Toadstool01-Jun-20Intermediate01-Oct-2031-Oct-2015.00%
1110-Jan-19Thu   -12.50% -6.00%Feast of Toadstool02-Jun-20High01-Jun-2030-Sep-2025.00%
1211-Jan-19Fri   -12.50% -6.00%Feast of Toadstool01-Jun-21Low01-Jan-2130-Apr-21
1312-Jan-19Sat12.00%  -12.50% -6.00%Feast of Toadstool02-Jun-21Low01-Nov-2131-Mar-22
1413-Jan-19Sun 15.00% -12.50% -6.00%Intermediate01-May-2131-May-2115.00%
1514-Jan-19Mon   -12.50% -6.00%Intermediate01-Oct-2131-Oct-2115.00%
1615-Jan-19Tue   -12.50% -6.00%High01-Jun-2130-Sep-2125.00%
1716-Jan-19Wed   -12.50% -6.00%Low01-Jan-2230-Apr-22
1817-Jan-19Thu   -12.50% -6.00%Low01-Nov-2231-Mar-23
1918-Jan-19Fri   -12.50% -6.00%Intermediate01-May-2231-May-2215.00%
2019-Jan-19Sat12.00%  -12.50% -6.00%Intermediate01-Oct-2231-Oct-2215.00%
2120-Jan-19Sun 15.00% -12.50% -6.00%High01-Jun-2230-Sep-2225.00%
Calendar
Cell Formulas
RangeFormula
AB1AB1="Calendar!"&ADDRESS(MATCH(PriceIt!$C$4,Calendar!$A$2:$A$5000,0)+2,COLUMN(Calendar!$A:$A))&":"&ADDRESS(MATCH(PriceIt!$C$4,Calendar!$A$2:$A$5000,0)+31,COLUMN(Calendar!$A:$A))
B2:B21B2=TEXT(A2,"ddd")
C2:C21C2=IF($B2="Sat",$J$4,"")
D2:D21D2=IF($B2="Sun",$J$6,"")
E2:E21E2=IF(ISNA(MATCH($A2,$M$2:$M$997,0)),"",$J$8)
F2:F21F2=IF(INDEX($P$2:$P$11,MATCH(PriceIt!$B$4,$O$2:$O$11,1))=0,"",INDEX($P$2:$P$11,MATCH(PriceIt!$B$4,$O$2:$O$11,1)))
G2:G21G2=IF(INDEX($U$2:$U$200,AGGREGATE(15,6,ROW($U$2:$U$200)-1/((A2>=$S$2:$S$200)*(A2<=$T$2:$T$200)),1))=0,"",INDEX($U$2:$U$200,AGGREGATE(15,6,ROW($U$2:$U$200)-1/((A2>=$S$2:$S$200)*(A2<=$T$2:$T$200)),1)))
H2:H21H2=IFERROR(IF(INDEX($Y$2:$Y$200,MATCH(PriceIt!$E$4,$W$2:$W$200,0))<A2,"",INDEX($X$2:$X$200,MATCH(PriceIt!$E$4,$W$2:$W$200,0))),"")
A3:A21A3=A2+1
T2,T21,T16:T17,T11:T12,T6:T7T2=EOMONTH(S2,3)
T3,T18,T13,T8T3=EOMONTH(S3,4)
T19:T20,T14:T15,T9:T10,T4:T5T4=EOMONTH(S4,0)
 
Upvote 0
Wow...I feel really bad that you went through all that work :/

I promise I'll give it a look to compare with my method and probably learn something from it.

How would I go about sharing my excel file with you so you could could give an opinion on the method I used?
 
Upvote 0
If you want to share it on Dropbox or Google Drive I'd be happy to take a look.
 
Upvote 0

Forum statistics

Threads
1,223,893
Messages
6,175,240
Members
452,621
Latest member
Laura_PinksBTHFT

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top