In a medium bowl, whisk together the half and half, mayo, grated onion, sugar, salt, and pepper. Chill until ready to use.
In a large pot of salted boiling water, cook the macaroni. Add 5 minutes to time on package instructions – overcooking the pasta helps it absorb the dressing.
Drain macaroni, then add back to pot. Add apple cider vinegar and stir until absorbed. Cover pot and set aside to come down to room temperature, at least 20 minutes.
Once pasta has rested 20 minutes, add half the dressing and stir to combine. Cover again and let cool 20 minutes more.
Add in remaining dressing, along with celery and carrots. Adjust seasoning as needed and chill until ready to use, at least 2 hours. Enjoy!