Hello guys:
I have an issue with a BYROW function
I have 2 column of values, each has comma-separated values.
I need to compare, row by row, list1 vs list2, and obtain an array with the values, by row, comma-separated, existing in list1, but not existing in list2.
After some treatments, I obtain a table (TableA, displayed in C12#), with those two lists to compare (column 2 and 3).
In the very same LET where TableA is calculated, I then do a BYROW, in the BYROW, I TEXTSPLIT each cell of each column, and I compare using MATCH, for each row. Then I TEXTJOIN the result, for each row.
Problem, the result of the BYROW in TableB does not work : it lists only the first missing item for the given row, not the full list, comma-separated.
Very strangely, if I do the procedure in 2 steps, it works:
1. display the Table A first
2. then refer to the Table A and get the result of BYROW in TableC.
In this case, while replacing in my LET { tableA;FILTER(tableA2;INDEX(tableA2;;3)<>"ALERT"); } with { tableA;C12#; } instead, magically it works, even though C12# is the result of the very same function {TableA;FILTER(tableA2;INDEX(tableA2;;3)<>"ALERT"); }
Can someone explain to me why this strange behavior, and help me correct this. Of course, I need a single LET function to get the desired array, cannot split the function in 2 parts. Or maybe, BYROW is not the best method to get the result I need, in which case I would listen to your suggestions. Thank you.
BYROW.jpg
Bookmarks