Hola GALI,
Creo que ya he dado con la respuesta. Aunque yo no lo note visualmente en mi PC, el tiempo de recalculo si que sube 3 veces: en mi caso de 0.09 seg a 0.30 seg. El tema es que los nombres definidos se recalculan cada vez que se recalcula la formula que los usa. Ahora, parece que entre tu y yo hemos construido un micromodelo perfectamente [aunque por fortuna localmente] volatil usando funciones no volatiles

Es decir:
1) todas las formulas en la hoja de calculo (20) invocan el nombre
Formul (2 veces)
2) el nombre
Formul invoca los nombres
entrad (1 vez)
salid (4 veces)
Sect (3 veces)
3) cada vez al recalcular el nombre
Formul realiza operaciones con cada una de las 18 celdas del rango devuelto por cada uno de los nombres
entrad, salid y Sect
4) cada uno de los nombres
entrad, salid y Sect invoca el nombre
rng (1 vez)
5) finalmente, el nombre
rng realiza sus busquedas (17 ya que siempre busca un valor inexistente) cada vez que es invocada.
Total que tenemos un conjunto de celdas y nombres cuyas
formulas estan
comunicados continuamente. Esto multiplicado por la
ineficiencia de las operaciones matriciales de la formula que usa SUMAPRODUCTO lleva claramente a una
rallentizacion importante (3 veces).
Gracias a Dios, o mas bien al sistema
"smart calculation" de Excel, que esto no vaya a mas, porque haciendo los numeros con los datos de arriba se ve perfectamente la barbaridad del calculo que se hace (
nada mas y nada menos que 293.760 operaciones con 18 registros).
Yo diria que
me he pasado tres pueblos al ofrecer la extension del rango de busqueda a columna entera. Y si el rango de datos crece a
miles de filas la velocidad del modelo se volvera desastrosa.
Pero aun estableciendo el rango de busqueda para
COINCIDIR en
294 filas (9 busquedas) el numero de operaciones se queda en
155.520 que tambien parece
demasiado para 18 registros.
Conclusion: vuelvo a recomendar mis primera y segunda soluciones. Ambas usan una columna intermedia adicional y una tabla dinamica o formula matricial respectivamente.