I have been attempting to build a list with a formula i can drag down and it auto populates. The existing list it pulls from can have an arbitrary amount of space from one item to the next. I have this formula working, but when trying to pull from a second list on another sheet, it consistently is looping back to the first item on the first list. I have tried many different variations above and beyond what i have described below but can't seem to get it working. Any help would be appreciated. Here's what i have now:
Base - works fine:
{=INDEX('LIST 1'!C$3:C$300,SMALL((IF(LEN('LIST 1'!C$3:C$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!C$3:C$300))))),ROW(A1)),1)}
Built on for second list on different worksheet, NOTE A9 is where this equation begins before i pull down:
{=IFERROR(INDEX('LIST 1'!J$3:J$300,SMALL((IF(LEN('LIST 1'!J$3:J$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!J$3:J$300))))),ROW(A1)),1),IFERROR(INDEX('LIST 2'!$C$4:$C$300,SMALL((IF(LEN('LIST 2'!$C$4:$C$300),ROW(INDIRECT("1:"&ROWS('LIST 2'!$C$4:$C$300))))),ROW(INDIRECT("A"&ROW(A9)-COUNTA(A$1:A9)))),1),""))}
The above formula will get all the way to IFERROR(#NA,"Correct first item to pull from LIST 2") but for some reason loop back to the first item on LIST 1...even though it should (based on the remaining statement) result in "Correct first item to pull from LIST 2". The more i drag, it continually results in the first item from LIST 1
Next up I tried to shift away from IFERROR and switch to IFs:
{=IF(IFERROR(INDEX('LIST 1'!C$3:C$300,SMALL((IF(LEN('LIST 1'!C$3:C$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!C$3:C$300))))),ROW(A1)),1),TRUE)=TRUE,INDIRECT(INDEX('LIST 2'!$C$4:$C$300,SMALL((IF(LEN('LIST 2'!$C$4:$C$300),ROW(INDIRECT("1:"&ROWS('LIST 2'!$C$4:$C$300))))),ROW(INDIRECT("A"&ROW(A9)-COUNTA(A$1:A9)))),1)),INDEX('LIST 1'!C$3:C$300,SMALL((IF(LEN('LIST 1'!C$3:C$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!C$3:C$300))))),ROW(A1)),1))}
Similar funny business happens in the above. What ends up happening is as i drag, LIST 1 populates correctly. Once LIST 1 is no more, it does resort to attempting to pull from LIST 2 (the 'true' portion of the IF statement). It results within the IF statement as a cell reference such as 'LIST 2'!C12 (let's say this is the first item location). I added Indirect here which for some reason instead of INDIRECT('LIST 2'!C12) being a result somehow it switched and became INDIRECT("Correct first item to pull from LIST 2") which obviously doesn't work. When i remove indirect is goes back to 'LIST 2'!C12...go figure. For example:
Result A: IF(TRUE,'LIST 2'!C12,INDEX('LIST 1'!C$3:C$300,SMALL((IF(LEN('LIST 1'!C$3:C$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!C$3:C$300))))),ROW(A1)),1))
or
Result B: IF(TRUE,INDIRECT("Correct first item to pull from LIST 2"),INDEX('LIST 1'!C$3:C$300,SMALL((IF(LEN('LIST 1'!C$3:C$300),ROW(INDIRECT("1:"&ROWS('LIST 1'!C$3:C$300))))),ROW(A1)),1))
Then, after, it starts calculating the 'FALSE' part of the IF statement? Only actually the LEN function portion of it (nothing else) and suddenly results in the first item from LIST 1 again!
I'm lost. I feel like i'm going in circles here lol.
Bookmarks