Your inner loop interates thru all of the elements of the left column and writes the second column with either the new string value if there is a match, or a "" if there is no match. This loop will step on the previous number every time.
Your simplest solution is by enclosing the two nodes Range.Value2 in a case statement and execute it only if the compare is true.
There is also a flaw in the inner loop auto indexing. There will always be only one value in that array. This inner loop serves no purpose and should be removed.
Michael Munroe
Certified LabVIEW Developer
www.abcdef.biz