Mi trovo in questa situazione.
In un foglio Excel c'è un campo che si chiama "Costo (€/ton)"
Pensavo che fosse normale che l'utente inserisse un numero o niente, invece mi trovo per esempio:
cella vuota
3,4
€ 3,4 a tonnellata
3.4 €/tonnellata
gratis

e questo è solo quello che ho visto io; ma scrivono anche di peggio.
Ho pensato di scremare questi dati con una funziona VBA.
Dato che non sono pratico di Excel, anche se sembra funzionare, vi prego di darle un'occhiata, e di migliorarla se il caso.
codice:
Public Function TrovaN(source)
Dim result
Dim pattern
pattern = "(\d+)([\.,]\d+)?"
Dim r As New VBScript_RegExp_55.RegExp
r.pattern = pattern
Dim matches, Match
If r.Test(source) Then
Set matches = r.Execute(source)
For Each Match In matches
result = Match
Exit For
Next
End If
result = Replace(result, ".", ",")
If IsNumeric(result) Then result = CDbl(result)
TrovaN = result
End Function
richiamabile naturalmente con
=TrovaN(A1)