Bring a large pan of lightly salted water to the boil. Add the elbow macaroni and cook until al dente, about 7–9 minutes.
Drain the pasta thoroughly in a colander, then rinse under cold running water. Leave to drain completely.
In a large bowl, whisk together the mayonnaise, apple cider vinegar, caster sugar, salt and black pepper.
Stir in the whole milk until the dressing is smooth and creamy.
Add the finely grated carrot, finely diced celery and finely chopped yellow onion to the dressing, then stir to combine.
Add the drained macaroni to the bowl and fold gently until each piece is evenly coated in the dressing.
Taste and adjust the seasoning with a little more salt or sugar, if you like.
Cover the bowl and chill in the fridge for at least 1 hour, ideally up to 4 hours, before serving.