2012-09-11 51 views
0

對於100公司,我收集了數據爲102天。我需要計算一些平均數,因此我試圖寫一個PHP腳本,我寫了必要的102公式如下:試圖用PHP寫102幾乎相同的Excel公式......並越來越困惑的迴路在環建設

=AVERAGE('panel-mv3'!BP2+'panel-mv3'!BP104+'panel-mv3'!BP206 ... +'panel-mv3'!BP8876) 
=AVERAGE('panel-mv3'!BP3+'panel-mv3'!BP105+'panel-mv3'!BP207 ... +'panel-mv3'!BP8877) 
=AVERAGE('panel-mv3'!BP4+'panel-mv3'!BP106+'panel-mv3'!BP208 ... +'panel-mv3'!BP8878) 
... 
=AVERAGE('panel-mv3'!BP103+'panel-mv3'!BP205+'panel-mv3'!BP307 ... +'panel-mv3'!BP8977) 

正如你所看到的,水平的公式需要增加102每個BP細胞(2, 104, 206, 308, 410, etc)。 所以點(...)是指式需要與+'panel-mv3'!BP308+'panel-mv3'!BP410等向上直到 +'panel-mv3'!BP8876進行擴展。在每個連續的公式,該行值轉變之一:BP3, 105, 207, etc...

我一直想這個使用下面的代碼來完成,但我還沒有完成它,因爲我感到困惑

for ($i = 1; $i < 103; $i++) { // 102 dates 
    echo "=AVERAGE("; 
    for ($j = 1; $j < 101; $j++) { // 100 companies 
    echo "'panel-mv3'!BP" . ($i + $j) . "+"; 
    echo "'panel-mv3'!BP" . ($i + $j) + ($j * 102) . "+"; 
    echo "'panel-mv3'!BP" . ($i + 1) + (($i * 2) * 102) . ")"; 
    } 
} 
+0

所以我只想澄清你想要的100家公司中的每一天平均? (102個公式) –

+0

是的,的確:-) – Pr0no

+0

難道他們都應該是''面板mv3''?你的第一塊代碼中有一些''panel-mv2''? –

回答

2
<?php 

for ($i = 2; $i < 104; $i++) { // 102 dates 
    echo "=AVERAGE("; 
    for ($j = 0; $j <= 99; $j++) { // 100 companies 
    echo "'panel-mv3'!BP" . ($i + $j*102); 
    if($j!=99) echo "+"; 
    } 
    echo ")\n"; 
} 

這裏是乳寧撥弄http://codepad.org/Z4lEQ74d但它與超時死亡(因爲它是一個免費帳戶)

+0

這是輝煌的,謝謝! (我現在也瞭解了鍵盤!我知道SQLFiddle但不PHPFiddle :-) – Pr0no

+0

你的歡迎,這是一個更加清晰http://writecodeonline.com/php/但不能發佈的例子有網址 –