First of all, with such a tiny array, you could probably get away with doing thousands of full scans in a single tick without noticing any sort of slowdown.
That said, if you still want to optimize it in a way to reduce redundant checks to a minimum, we need to know a bit more about what you are actually trying to do.
In particular, could you perhaps elaborate on this sentence : "If I find the value, I would remove it from that cell but possibly add the value elsewhere in the array".
Is the value shifting conditionnal ? (if so, what is this condition ?)
Where do you move the value ? (same row, column, anywhere in the array)
Do you "set" another cell, or do you add a cell value to another ?