Formula for Equity Vesting

SaraNicole

New Member
Joined
Dec 15, 2023
Messages
8
Office Version
  1. 365
Platform
  1. Windows
This post is a follow up to a previous post linked below that @Dave Patton helped with (Thank you Dave!!). The original formula worked great for every scenario I've had up until today so resurfacing this thread to seek some expertise in this forum.

Overall, I'm trying to calculate the amount of stock options (whole numbers) that will be vested as of a specific date, and the number of stock options that will vest within sequential calendar years. The area's i'm having challenges with are in red text, as you'll see in the XL2BB and detailed below. Any help is appreciated!
  • Description of challenge: John was issued 50,000 shares that started vesting on 1/12/2015 based on the vesting schedule in Column D (i.e. vested 20% of 50,000 shares at 1 year, and then vested 1/60th of the 50,000 shares each month thereafter). When I update Column G with an effective date of 3/1/2023 (a date that is after all of John's shares should have vested), the formula in Column H produces a number larger than the 50,000 shares that were granted. Additionally Columns K-Q, which outline how many shares will vest each year for John, continues to calculate past the vesting end date (which would be 1/12/2020)
Link to original Question: Formula for Equity Vesting - After Year one 25% vested followed by quarteryly vesting.

Book3.xlsx
ABCDEFGHIJKLMNOPQ
1NameShares GrantedVesting Start Date DateVesting scheduleInitial VestingInitial Vesting YearsEffective Date (used to calculate the exact # of shares that are vested as of this date, in Column H)Number of Vested Shares as of Effective Date (in column G)Monthly vested sharesBlankShares Vesting in 2020Shares Vesting in 2021Shares Vesting in 2022Shares Vesting in 2023Shares Vesting in 2024Shares Vesting in 2025Shares Vesting in 2026
212/31/2012/31/2112/31/2212/31/2312/31/2412/31/2512/31/26
3John500001/12/1520% on 1 year, 1/60th monthly thereafter0.213/1/20238080583399969996999699969996200
4Helen100010/2/2020% on 1 year, 1/60th monthly thereafter0.213/1/20234561602321921921921920
5Mary102010/16/1920% on 1 year, 1/60th monthly thereafter0.213/1/20236801723820420420417000
6Frank75009/16/2040% @ 2 years, 1/36th monthly thereafter0.423/1/202365362080036242496138000
Sheet1
Cell Formulas
RangeFormula
E3:E6E3=--TEXTBEFORE(D3," ")
F3:F6F3=--TEXTAFTER(TEXTBEFORE(D3," y"),{"on ","@ "})
H3:H6H3=IF(DATEDIF($C3,G3,"y")>=1,INT($B3*E3),0)+LET(m,DATEDIF($C3,G3,"m"),IF(m>12,m-12,0)*$I3)
I3:I6I3=INT((B3)/TEXTAFTER(TEXTBEFORE(D3,"th"),"/"))
K3:Q6K3=MIN($B3-SUM($J3:J3),(LET(m,DATEDIF($C3,K$2,"m"),IF(AND(m>=$F3*12,m<($F3+1)*12),INT($B3*$E3),0)+IF(m>($F3*12),MAX(0,MIN(m-$F3*12,12))*$I3))))
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
The amount would be fully vested early in 2020. The sheet is set up to start in 2020. You could do a calculation for up to and including 2019.


T202312a.xlsm
ABCDEFGHIJKLMNO
1NameShares Granted12-01-16Vesting scheduleInitial VestingInitial Vesting YearsEffective Date (used to calculate the exact # of shares that are vested as of this date, in Column H)Number of Vested Shares as of Effective Date (in column G)Monthly vested sharesBlankShares Vesting in 2020Shares Vesting in 2021Shares Vesting in 2022Shares Vesting in 2023Shares Vesting in 2024
231-Dec-1931-Dec-2031-Dec-2131-Dec-2231-Dec-2331-Dec-24
3John5000012-Jan-1520% on 1 year, 1/60th monthly thereafter0.2101-Mar-235000083349,1518490000
6bb
Cell Formulas
RangeFormula
E3E3=--TEXTBEFORE(D3," ")
F3F3=--TEXTAFTER(TEXTBEFORE(D3," y"),{"on ","@ "})
H3H3=MIN(B3,IF(DATEDIF($C3,G3,"y")>=1,INT($B3*E3),0)+LET(m,DATEDIF($C3,G3,"m"),IF(m>12,m-12,0)*$I3))
I3I3=INT(B3/TEXTAFTER(TEXTBEFORE(D3,"th"),"/"))
J3J3=MIN(B3,B3*0.2+DATEDIF(42381,J2,"m")*I3)
K3:O3K3=MIN($B3-SUM($J3:J3),(LET(m,DATEDIF($C3,K$2,"m"),IF(AND(m>=$F3*12,m<($F3+1)*12),INT($B3*$E3),0)+IF(m>($F3*12),MAX(0,MIN(m-$F3*12,12))*$I3))))
 
Last edited:
Upvote 0
Thank you for the reply @Dave Patton!
Two questions:

1. would the updates you made apply to the other people/grants listed on the XL2BB I submitted?

Trying to confirm if I can copy the updated formulas down, and still have the calcs work on columns K-O.

2. The updated formula on column J - does this represent the total shares that have vested through 12/31/2019?
 
Upvote 0
Two questions:

"1. would the updates you made apply to the other people/grants listed on the XL2BB I submitted?

Trying to confirm if I can copy the updated formulas down, and still have the calcs work on columns K-O."

I did not look at the other data and dates.
If you have other earlier dates, you can consider using the initial structure but start the headings (row 2) with earlier YE dates.



"2. The updated formula on column J - does this represent the total shares that have vested through 12/31/2019?"
Yes. You can review the calculation to ensure that the amount is correct.
 
Upvote 1
T202312a.xlsm
ABCDEFGHIJKLMNOPQRST
1NameShares GrantedVesting Start Date DateVesting scheduleInitial VestingInitial Vesting YearsEffective Date (used to calculate the exact # of shares that are vested as of this date, in Column H)Number of Vested Shares as of Effective Date (in column G)Monthly vested sharesShares Vesting in 2020Shares Vesting in 2021Shares Vesting in 2022Shares Vesting in 2023Shares Vesting in 2024Shares Vesting in 2025
22016201720182019202020212022202320242025
3John50,00012-Jan-1520% on 1 year, 1/60th monthly thereafter20%101-Mar-2350,00083319,1639,9969,9969,996849     
4Helen1,00002-Oct-2020% on 1 year, 1/60th monthly thereafter20%101-Mar-2345616     232192192192192
5Mary1,02016-Oct-1920% on 1 year, 1/60th monthly thereafter20%101-Mar-2368017    238204204204170 
6Frank7,50016-Sep-2040% @ 2 years, 1/36th monthly thereafter40%201-Mar-236,536208      3,6242,4961380 
7
6bbb
Cell Formulas
RangeFormula
E3:E6E3=--TEXTBEFORE(D3," ")
F3:F6F3=--TEXTAFTER(TEXTBEFORE(D3," y"),{"on ","@ "})
H3:H6H3=MIN(B3,IF(DATEDIF($C3,G3,"y")>=1,INT($B3*E3),0)+LET(m,DATEDIF($C3,G3,"m"),IF(m>12,m-12,0)*$I3))
I3:I6I3=INT(B3/TEXTAFTER(TEXTBEFORE(D3,"th"),"/"))
K3:T6K3=MIN($B3-SUM($J3:J3),LET(m,IFERROR(DATEDIF($C3,K$2,"m"),0),IF(AND(m>=$F3*12,m<($F3+1)*12),INT($B3*$E3),0)+IF(m>($F3*12),MAX(0,MIN(m-$F3*12,12))*$I3)))
 
Upvote 0
@Dave Patton this is amazing - Thank you so much! I’ve already used some of your originally formula combos in different applications!
 
Upvote 0

Forum statistics

Threads
1,224,812
Messages
6,181,098
Members
453,021
Latest member
Justyna P

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