Sorry, I trimmed too much off the html table. The only difference between H, I, J and K formulae is which column the INDEX pulls the data from.
<tbody>
[TD="align: center"]1[/TD]
[TD="align: right"]Find=[/TD]
[TD="align: center"]Hannah Ross[/TD]
[TD="align: center"]17-May-19[/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"]2[/TD]
[TD="align: right"]Count=[/TD]
[TD="align: center"]4[/TD]
[TD="align: right"][/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"][/TD]
[TD="align: center"]3[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: center"]Name[/TD]
[TD="align: center"]Company[/TD]
[TD="align: center"]Sales[/TD]
[TD="align: center"]Date[/TD]
[TD="align: center"]4[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: center"]Hannah Ross[/TD]
[TD="align: center"]Easy Partners[/TD]
[TD="align: center"]$132,062[/TD]
[TD="align: center"]17-May-19[/TD]
[TD="align: center"]5[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: center"]Hannah Ross[/TD]
[TD="align: center"]Easy Partners[/TD]
[TD="align: center"]$212,891[/TD]
[TD="align: center"]17-May-19[/TD]
[TD="align: center"]6[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: center"]Hannah Ross[/TD]
[TD="align: center"]Easy Partners[/TD]
[TD="align: center"]$339,260[/TD]
[TD="align: center"]17-May-19[/TD]
[TD="align: center"]7[/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: right"][/TD]
[TD="align: center"]Hannah Ross[/TD]
[TD="align: center"]Easy Partners[/TD]
[TD="align: center"]$232,421[/TD]
[TD="align: center"]17-May-19[/TD]
</tbody>
SandsB
[TABLE="width: 85%"]
<tbody>[TR]
[TD]
Worksheet Formulas[TABLE="width: 100%"]
<tbody>[TR="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]
[TH]Cell[/TH]
[TH="align: left"]Formula[/TH]
[/TR]
[TR]
[TH="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]F2[/TH]
[TD="align: left"]=COUNTIFS(
DATA!A:A,$F$1,DATA!J:J,$G$1)[/TD]
[/TR]
[TR]
[TH="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]H4[/TH]
[TD="align: left"]=IF(
ROWS($H$4:$H4)>$F$2,"",INDEX(DATA!$A$2:$A$15001,AGGREGATE(15,6,ROW(DATA!$A$2:$A$15001)-1/((DATA!$A$2:$A$15001=$F$1)*(DATA!$J$2:$J$15001=$G$1)),ROWS(H$4:H4))))[/TD]
[/TR]
[TR]
[TH="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]I4[/TH]
[TD="align: left"]=IF(
ROWS($H$4:$H4)>$F$2,"",INDEX(DATA!$B$2:$B$15001,AGGREGATE(15,6,ROW(DATA!$A$2:$A$15001)-1/((DATA!$A$2:$A$15001=$F$1)*(DATA!$J$2:$J$15001=$G$1)),ROWS(H$4:H4))))[/TD]
[/TR]
[TR]
[TH="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]J4[/TH]
[TD="align: left"]=IF(
ROWS($H$4:$H4)>$F$2,"",INDEX(DATA!$C$2:$C$15001,AGGREGATE(15,6,ROW(DATA!$A$2:$A$15001)-1/((DATA!$A$2:$A$15001=$F$1)*(DATA!$J$2:$J$15001=$G$1)),ROWS(H$4:H4))))[/TD]
[/TR]
[TR]
[TH="bgcolor: [URL=https://www.mrexcel.com/forum/usertag.php?do=list&action=hash&hash=DAE7F5]#DAE7F5[/URL] "]K4[/TH]
[TD="align: left"]=IF(
ROWS($H$4:$H4)>$F$2,"",INDEX(DATA!$J$2:$J$15001,AGGREGATE(15,6,ROW(DATA!$A$2:$A$15001)-1/((DATA!$A$2:$A$15001=$F$1)*(DATA!$J$2:$J$15001=$G$1)),ROWS(H$4:H4))))[/TD]
[/TR]
</tbody>[/TABLE]
[/TD]
[/TR]
</tbody>[/TABLE]
Quick explanation:
The IF ROWS part checks if rhe number of rows displayed so far has matched the COUNTIF, in which case there's no more "Hannah Ross" to report so show null "".
The INDEX retrieves the data from the specified column for the row number returned by the AGGREGATE.
The AGGREGATE uses the SMALL option (15) and ignores error (6) when it looks down all row numbers for 2 to 15001 (-1 to account for the header row). Then divide (/) that row number by a check if column A = F1 (the Hannah Ross name) multiplied by a check of column J equaling the search date (in this case 17-May-19).
If either the A column isn't F1 or J column isn't G1 then they give a zero so multiplying (*) them together will always give a zero. Only if both are true will you get a 1.
The row number divided by zero gives a
#DIV0 error which the 6 option of AGGREGATE ignores. The row number divided by 1 gives the row number which the INDEX can then use to return the result.
The last ROWS function just increments the counter by 1 for each row so the AGGREGATE with SMALL returns the 1st smallest row, then the second smallest row, etc.