In the examples below, we want to show the first Monday if the date is less than or equal to 21.
If the day in the referenced cell is greater than 21, show the first Monday in the next month.
You can choose the formula that you prefer and hopefully you can customize it to meet your requirements.
Excel 2010
<colgroup><col style="width: 25pxpx"><col><col><col></colgroup><thead>
</thead><tbody>
[TD="align: center"]2[/TD]
[TD="align: right"]4-Oct-18[/TD]
[TD="align: right"]Mon 01-Oct-18[/TD]
[TD="align: right"]Mon 01-Oct-18[/TD]
[TD="align: center"]3[/TD]
[TD="align: right"]22-Oct-18[/TD]
[TD="align: right"]Mon 05-Nov-18[/TD]
[TD="align: right"]Mon 05-Nov-18[/TD]
[TD="align: center"]4[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
</tbody>
3a
[TABLE="width: 85%"]
<tbody>[TR]
[TD]
Worksheet Formulas[TABLE="width: 100%"]
<thead>[TR="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]
[TH="width: 10px"]Cell[/TH]
[TH="align: left"]Formula[/TH]
[/TR]
</thead><tbody>[TR]
[TH="width: 10px, bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]B2[/TH]
[TD="align: left"]=IF(
DAY(A2)>21,WORKDAY.INTL(EOMONTH(A2,0),1,"0111111"),WORKDAY.INTL(A2-DAY(A2),1,"0111111"))[/TD]
[/TR]
[TR]
[TH="width: 10px, bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]C2[/TH]
[TD="align: left"]=WORKDAY.INTL(
MAX(A2-DAY(A2),(DAY(A2)>21)*(EOMONTH(A2,0))),1,"0111111")[/TD]
[/TR]
</tbody>[/TABLE]
[/TD]
[/TR]
</tbody>[/TABLE]