If a formula based solution is acceptable you might try the following, as modeled on Sheet3:
1. Populate A5 and down using:
Formula:
=IFERROR(INDEX(Table1[Client Name],AGGREGATE(15,6,(ROW(Table1[Client Name])-MIN(ROW(Table1[Client Name]))+1)/(Table1[Due Date]>=$B$1)/(Table1[Due Date]<=$B$2),ROWS($A$1:$A1))),"")
2. Populate columns B: (starting with row 5) using: =IF($A5="","",INDEX(Table1[Pipeline Description],MATCH($A5,Table1[[Client Name]:[Client Name]],0)))
Note that zero values are hidden using conditional formatting.
Note that some columns containing dates need to be formatted as such.
Note that this proposal assumes 'Client Names' are unique and selection of rows should be based on 'Due Date'.
Let us know if you have any questions.
Bookmarks