Option A: The present perfect tense ("have completed") is used for actions that have relevance to the present moment or are ongoing, but "yesterday" specifies a definite past time, which conflicts with the present perfect.
Option B: The correct form would be "I did complete the work yesterday."
Option C: The present perfect "have had" combined with "completed" is not a valid construction here, and it also clashes with "yesterday".
Option D: This sentence is grammatically correct and hence, would be the correct answer.
Create a FREE account and get: