Для отладки вашего кода запустите эту версию, и, когда код останавливается на строке «стоп», выполните шаг, чтобы увидеть, является ли data_set (i, 19) числом или нет.
Sub segment_trigger_returns()
Application.ScreenUpdating = False
Dim segment_trigger As Boolean
Dim data_set As Variant
data_set = Range("A4:AV75617")
Dim i As Long, s as string
For i = 2 To UBound(data_set, 1)
Dim sumall As Long
Dim cnt As Long
cnt = 0
sumall = 0
company_name_curperiod = data_set(i, 3)
company_name_prevperiod = data_set(i - 1, 3)
segments_curperiod = data_set(i, 10)
segments_prevperiod = data_set(i - 1, 10)
If company_name_curperiod = company_name_prevperiod And segments_curperiod <> segments_prevperiod Then
stop
s = data_set(i, 19)
If IsNumeric(s) then MsgBox "Yes, it's a number"
sumall = sumall + data_set(i, 19)
cnt = cnt + 1
End If
Next i
If cnt > 0 Then
Sheets("Control").Range("K6") = sumall / cnt
End If
Application.ScreenUpdating = True
End Sub