. 30/09/16
Buenas, Jorge
MS Excel cuenta con numerosas y potentes herramientas, a qué negarlo.
Pero, para un pedido como el tuyo, no creo que haya solución nativa.
Afortunadamente, VBA permite crear tu propia función para resolverlo.
Así que desarrollé esta fórmula que, indicándole la celda donde está la palabra, te devuelve la suma de los valores asignados a cada letra.
Accede al Editor de VBA (Atajo: Alt + F11), inserta un módulo y pega el siguiente código:
Function SumaLetras(LaCelda As Range)
Application.Volatile
'---- Variables modificables:
'=== XXXX, modifica estos datos de acuerdo a tu proyecto:
Hojatabla = "Hoja1"
rangotabla = "B2:C10"
'---- fin Variables
'
'---- inicio de función:
Resulta = 0
FaltaLetra = False
LaPalabra = Trim(LaCelda.Value)
largo = Len(LaPalabra)
If largo Then
Set RangBusq = Sheets(Hojatabla).Range(rangotabla)
For letra = 1 To largo
LaLetra = Mid(LaPalabra, letra, 1)
On Error Resume Next
Busca = Application.WorksheetFunction.VLookup(LaLetra, RangBusq, 2, 0)
If Err.Number = 0 Then
Resulta = Resulta + Busca
Else
FaltaLetra = True
End If
Next
End If
If FaltaLetra Then
Resulta = "falta letra"
ElseIf Resulta = 0 Then
Resulta = "-"
End If
SumaLetras = Resulta
Err.Clear
Set RangBusq = Nothing
End Function
Nota que, al principio del código, hay unas variables para que lo adaptes a tu archivo. Por ejemplo que la tabla de valores estuviese en otro rango u hoja.
Además le agregué un par de controles. Mira la siguiente imagen:
Como verás, hace los cálculos que solicitaste pero si faltara alguna letra en la tabla, lo avisa o, si estuviese vacía la celda, coloca un guión.
.