Eu tentei com 30/01/2010
SUBSTITUTE(A1,".","/")
e depois eu coloco
=TEXT(B1, "yyyy-mm-dd").
O resultado era esperado.
Eu suspeito que o problema é que a célula que você está fazendo isso também não está no formato de data.
Por exemplo, se eu alterar meu valor para 30.01.2010, o valor será duplicado (da mesma maneira que você descreve)
Ou você pode mantê-lo como
=TEXT(A1, "yyyy-mm-dd")
E atualize todos os. para / com uma macro rápida
Option Explicit
Sub ReplaceDate()
Dim row As Integer
row = 1
Do While (Range("A" & row).Value <> "")
Dim val As String
val = Range("A" & row).Value
Dim i As Integer
Dim result As String
result = ""
Dim spl() As String
spl = Split(val, ".")
If (UBound(spl) > 0) Then
For i = 0 To Len(val)
Dim r As String
result = result & Replace(Mid(val, i + 1, 1), ".", "/")
Next i
End If
If result <> "" Then
Range("A" & row).NumberFormat = "@"
Range("A" & row).Value = result
End If
row = row + 1
Loop
End Sub