Ho un foglio di lavoro (non molto grande attualmente poco più di 6000 righe di colonne K) che per qualche ragione impiega molto tempo a ricalcolare e spesso ricalcolare e salvare. A volte ci vogliono 10-15 minuti, e altri possono richiedere fino a mezza giornata, non c'è molta coerenza nel tempo di calcolo. Le formule non sono molto complesse, ed è abbastanza pulito da quello che posso dire. I riferimenti per la maggior parte delle formule sono dati su un foglio "sorgente" all'interno dello stesso foglio di lavoro che viene estratto da SQL ed esportato in Excel utilizzando Cognos Impromptu. Ho un altro foglio che non ha questo lento problema di calcolo, ma i suoi dati vengono esportati direttamente dal sistema contenente i dati. Le formule sono le stesse e i dati sono sostanzialmente gli stessi nella struttura, ma provengono da luoghi diversi. Questa è l'unica differenza,
Non sta estraendo dati da SQL in tempo reale, sto recuperando dati da SQL (non utilizzando Excel) e incollando letteralmente valori in Excel per i calcoli lì. Per sistema intendo il programma in cui tutte le informazioni vengono inserite manualmente (non SQL che si aggiorna automaticamente dal sistema su base notturna) cioè dati demografici, addebiti, pagamenti, appuntamenti, ecc. I dati che sto inserendo in Excel è il nome del fornitore, il tipo di fornitore, il pagatore responsabile, gli addebiti, i pagamenti, le rettifiche e la data. Viene estratto e aggiornato su base giornaliera, il che è parte del problema, ogni volta che aggiungo i dati di un nuovo giorno deve essere rielaborato per includere le nuove righe.
Ecco alcune delle formule
=IF(ISERROR(SUM(IF((Source!$A$5:$A$150000='Provider Weekly-WTD'!$A8)*((Source!$K$5:$K$150000>='Provider Weekly-WTD'!B$6)*(Source!$K$5:$K$150000<('Provider Weekly-WTD'!B$6)+7)),Source!$E$5:$E$150000,""))),"-",SUM(IF((Source!$A$5:$A$150000='Provider Weekly-WTD'!$A8)*((Source!$K$5:$K$150000>='Provider Weekly-WTD'!B$6)*(Source!$K$5:$K$150000<('Provider Weekly-WTD'!B$6)+7)),Source!$E$5:$E$150000,"")))
,
=IF(ISERROR(SUM(IF(($A8=Source!$A$5:$A$150000)*(IF(Source!$K$5:$K$150000=(B$6+6),(B$6+6),MAX(IF((Source!$A$5:$A$150000=$A8)*(Source!$K$5:$K$150000>=B$6)*(Source!$K$5:$K$150000<(B$6+7)),Source!$K$5:$K$150000)))=Source!$K$5:$K$150000),Source!$I$5:$I$150000))),"-",SUM(IF(($A8=Source!$A$5:$A$150000)*(IF(Source!$K$5:$K$150000=(B$6+6),(B$6+6),MAX(IF((Source!$A$5:$A$150000=$A8)*(Source!$K$5:$K$150000>=B$6)*(Source!$K$5:$K$150000<(B$6+7)),Source!$K$5:$K$150000)))=Source!$K$5:$K$150000),Source!$I$5:$I$150000)))
,
=SUMIFS($I$5:$I$150000,$A$5:$A$150000,$A7111,$C$5:$C$150000,$C7111,$K$5:$K$150000,(MAX(IF(($A7111=$A$5:$A$150000)*($C7111=$C$5:$C$150000)*($K7111>$K$5:$K$150000),$K$5:$K$150000))))
, e
=$D7111+$E7111-$F7111+$G7111-$H7111
Dal momento che sono in qualche modo limitato a visualizzare qui i dati effettivi e posso solo visualizzare le formule, penso che sto chiedendo se le formule che sto usando sono ok e / o stanno causando il problema. Se non sono le formule, è possibile che il problema sia causato dai dati o dal formato in cui si trovano. Ad esempio, qualcuno mi ha detto che, poiché il formato della data (nelle impostazioni del formato) ha il * davanti, che sta causando il problema.