express is_change_needed as text to dodge Excel's ever so helpful silent type conversions