No pierdas las esperanzas porque todo los cálculos que se pueden hacer en Excel los puedes hacer en Javascript y de diferentes formas, al gusto tuyo incluso...
 
Primeramente no se si todo el HTML lo generas a través de PHP o lo ingresas como HTML completo. si tienes todos los 50 campos en un solo texto HTML hay muchas soluciones para reducir código y también lo puedes conseguir con Javascript, en este ejemplo solo te he reducido los nombres de los bancos en cada campo y no es necesario enumerar nada como 
deposito_1, deposito_2..., porque todo lo puedes reducir usando bucles y arreglos. 
El HTML (antes del código Javascript)    
Javascript
:    
Código Javascript
:
Ver original- var banks = {"~": 0, "Bajio": 0, "Banamex": 0, "Banco Azteca": 0, "Banco Walmart": 0, "Banorte": 0, 
-  "Banregio": 0, "BBVA Bancomer": 0, "Coppel": 0, "HSBC": 0, "Inbursa": 0, "IXE": 0, "Mifel": 0, "Santander": 0, "Scotiabank": 0}; 
- var form = document.forms.banks_deposits; 
- var selects = form["banco[]"]; 
- var deposit_fields = form["deposito[]"]; 
-   
- //muestra resultado 
- var result = function(){ 
-     var html_result = []; 
-     for(var j in banks) html_result.push(j == '~' ? '' : j + ' : ' + banks[j]); 
-     document.getElementById("result").innerHTML = "Totales: <br />" + html_result.join("<br />"); 
- } 
-   
- //actualizar cantidad de cada banco, sumar los valores de cada campo 
- var update = function(){ 
-     for(var j in banks){ 
-         var x = 0, field; 
-         banks[j] = 0; 
-          
-         while(field = deposit_fields[x]) 
-             if(selects[x++].value == j) banks[j] += +field.value; 
-     } 
-     result() 
- }; 
-   
- //armamos todo, recorremos todos los campos 
- for(var i=0; i < deposit_fields.length; i++){ 
-      
-     //crea la lista de bancos para cada campo, asi mantenemos ordenado y evitamos el exceso de código HTML 
-     var optionsHTML = ''; 
-     for(var j in banks) optionsHTML += '<option value="'+j+'">'+j+'</option>'; 
-     selects[i].innerHTML = optionsHTML 
-     //// 
-      
-     //eventos para actualizar el total por cada cambio de banco o valor de depósito 
-     selects[i].onchange = update 
-     deposit_fields[i].onkeyup = update 
-     deposit_fields[i].onchange = update 
-     //// 
- } 
-   
- update(); 
Probar tu ejemplo (después de todo):    
Código Javascript
:
Ver original- //TU EJEMPLO 
- var z = 0; 
- selects[z].value = "Banamex"; deposit_fields[z++].value = 50; 
- selects[z].value = "BBVA Bancomer"; deposit_fields[z++].value = 100; 
- selects[z].value = "HSBC"; deposit_fields[z++].value = 300; 
- selects[z].value = "Banamex"; deposit_fields[z++].value = 30; 
- selects[z].value = "BBVA Bancomer"; deposit_fields[z++].value = 80; 
- selects[z].value = "HSBC"; deposit_fields[z++].value = 10; 
-   
- //RESULTADO EJEMPLO 
- update() 
Aquí te dejé un demo para que lo pruebes: 
http://jsfiddle.net/wZVanG/wLa8wsg5/