Excel: Posso fare sumifs con i calcoli?

Sto facendo alcune ricalcoli in Excel su una lunga list per prepararla per analisi statistiche in altri programmi e ho problemi con una cosa che voglio fare.

Ho un elenco di alcune variables, tra cui un identificatore, una variabile di data e una variabile numbersca. Devo aggiungere una variabile che sum la variabile numbersca da tutte le istanze che si trovano entro 365 giorni dall'istanza con lo stesso identificatore. Questo è relativamente facile eseguibile con i sumi (). Ma voglio anche aggiungere un peso al valore numbersco in modo che le istanze che hanno un valore di data vicino al valore di oggi hanno un peso maggiore di quelle più indietro nel tempo (ieri 364/365 peso, un mese fa 335/365, domani un anno fa 1/365 ecc.

C'è un modo per farlo con funzioni?

# ABCD 1 ID# datenumber value newvar 2 Ken 01-01-2015 1000 somevalue 3 Ida 01-01-2014 1000 somevalue 4 Ida 01-06-2015 1234 somevalue 5 Ida 01-10-2015 5678 somevalue 6 Ida 01-12-2015 1000 y y = weighted sum of all values of all Ida within one year, line 3 and 4 above. The newvar sumifs y would be (if "ID#" was in cell A1): =SUMIFA(C:C,A:A,A6,B:B,"<"&B6,B:B,">"&B6-365) or 1234+5678 = 6912 The "weighted sumifs" would be y = (182/365*1234)+(304/365*5678) = 5344.38 

Suppongo di poter creare una nuova colonna con il valore ponderato in una data specifica, fare il newvar per tutti i casi con quel dato, copiare i valori in atto, quindi spostare un giorno in su e ripeterlo con le istanze con quel dato spazio ecc. Tramite VBA ma quel tipo di hackery limiterebbe veramente l'utilità della cartella di lavoro in altre aree. Quindi spero che qualcuno abbia una soluzione con funzioni di cella invece di VBA.

Damn, era molto più facile di quanto immaginassi. Sumproduct ti consente di eseguire manipolazioni di tipo arrays sui singoli valori prima di aggiungerli

 =SUMPRODUCT((A2:A6=A6)*(B2:B6<B6)*(B2:B6>B6-365)*C2:C6*((B2:B6)-(B6-365))/365) 

Le condizioni (A2: A6 = A6) * (B2: B6 <B6) * (B2: B6> B6-365) sono le condizioni

I C2: C6 sono i valori che devono essere considerati (se soddisfano le condizioni sopra)

Il ((B2: B6) – (B6-365)) / 365 è il peso che deve essere aggiunto ai valori che hanno soddisfatto le condizioni