Como executar Run CellEndEdit apenas quando Cell ValueChanged no DataGridView

Quero executar o CellEndEdit apenas quando o valor da célula for alterado, tentei colocar

if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == e.FormattedValue.ToString()) 
             return; 

no evento CellValidation, o evento Validação de Célula retorna, mas CellEndEdit também é executado e atualiza,updated date & by quando o usuário entrou no modo de edição e saiu sem alterar a célula de valo
Quando o CellEndEdit for atingidoCellValue & Formatted Value são os mesmos, então não foi possível colocar isso no CellEndEdi

Uma solução trivial é definir um sinalizador no CellValidation e retornar o CellEndEdit quando o sinalizador estiver definido, mas isso parece ser uma solução propensa a erros, pois existem cerca de 10 cinturas no formulário. Então 10 bandeiras?

questionAnswers(10)

yourAnswerToTheQuestion