Используйте ms access или любую БД. Они для этого и предназначены.
в Excel можно реализовать через макросы, но это такой костыль, что всем костылям костыль:
Добавьте код макроса в код страницы (редактор кода vba->двойной щелчок по нужному листу в менеджере проекта), диапазон ваших значений B1:B1000
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("B1:B1000")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
X = 5
Y = 1
If Cells(Y, X).Value = "" Then Cells(Y, X).Value = 0
On Error GoTo here
If Target.Value <> "" Then
answer = MsgBox("Increment?", vbYesNo + vbQuestion, "Empty Sheet")
If answer = vbYes Then Target.Offset(0, -1).Value = Cells(Y, X).Value + 1
If answer = vbYes Then Cells(Y, X).Value = Cells(Y, X).Value + 1
Else
Target.Offset(0, -1).Value = ""
End If
here:
Debug.Print Err
End If
End Sub