Colombia and Switzerland battled through to the semi-final stage of the FIFA U-17 World Cup in Nigeria after two scintillating last-eight clashes.