Spreadsheet setup: I have 2 columns of data that are of interest. In Column D, I have 15 integers starting in row 7 down to row 21. These integers are based on a calculation and will change with use and there can be multiple instances of a given number. In D24, I find the minimum of the above 15 integers. In G7:G21, I have a reference number from 1 to 15.

Starting in D26, I want to list the reference numbers for each row in which the minumum number occurs. So say the minimum in the D list is 12 and it occurs in the 2, 5 and 12th row of the array, then I want D26 to display a 2, D27 a 5 and D28 a 12. This list could be one row long if the minimum only occurs once or it could be 15 rows long.

Another constraint: I want this new list of reference numbers to be in a compact list (no blank rows in between). I figured out a way to list the reference numbers for each occurance of the minimum value, but that meant using an IF statement in 15 rows starting in D26, so the reference numbers would have blank rows in between.

I could do this very easily in VBA, but I'm trying to figure out how to do it with built-in functions so that when I send it out people don't have to question enabling macros. Thanks in advance for any tips.