Board logo

標題: 關於weeknum使用限制? [打印本頁]

作者: vvcvc    時間: 2012-2-21 14:39     標題: 關於weeknum使用限制?

本帖最後由 vvcvc 於 2012-2-21 14:46 編輯

我在小幫手那裡查到這個函式
本想使用他來做週統計的比對加總
但沒想到連使用範例都只會出現#NAME?
不知是不是有什麼使用限制?
(W01的公式目前出現錯誤,故除了weeknum的問題,還不知道是不是還有其他問題存在)

附件尚有一個問題,我儲存格往右拉最多只能拉到9/11
除了改成直式以外要怎樣才能再擴展?
怎樣才能拉滿一整個年度?

公司的電腦只提供office 2003版,所以家中也配合使用2003版
故希望大家提供的方法是可以在2003版實現的方式
[attach]9682[/attach]
作者: Hsieh    時間: 2012-2-21 15:16

回復 1# vvcvc


    WEEKNUM是分析工具箱增益集中的函數
請勾選
工具/增益集/分析工具箱

2003版為256欄的工作表
而一年至少365天,那除了分列放置外應無法容納
作者: vvcvc    時間: 2012-2-21 15:29

本帖最後由 vvcvc 於 2012-2-21 15:33 編輯

謝謝版主
安裝後發現weeknum無法使用範圍來做計算
而且1與01的比對結果也是錯誤的(可以加入value解決)
但weeknum的問題,不知該怎麼解決?
作者: vvcvc    時間: 2012-2-21 15:36

對了,順便問一下
月、季的部份
我使用很笨的方法一格一格拉範圍
有什麼方法可以寫在B7、F7後向右向下拉都適用嗎?
作者: register313    時間: 2012-2-21 17:02

本帖最後由 register313 於 2012-2-21 18:05 編輯

回復 4# vvcvc

256欄容納不下

是不是先確定要不要轉成直向
轉成直向也比較好下公式
Q1:  weeknum無法使用範圍  ==>  加輔助欄先求得每個儲存格之weeknum
Q2,Q3也都可解決

[attach]9683[/attach]

[attach]9684[/attach]
作者: vvcvc    時間: 2012-2-21 18:19

回復  vvcvc

256欄容納不下

是不是先確定要不要轉成直向
轉成直向也比較好下公式
Q1:  weeknum無法 ...
register313 發表於 2012-2-21 17:02


改成直式並加輔助欄有做出來
只是想看看有沒有其他不加輔助欄的方式可解
我自己是先用sumproduct解
現在想想加入輔助欄好像使用sumif更容易,不知使用那一個計算會比較快(原始文件每日的data已經下了366*5個公式了)
改成如附件,但月、季還想不出比較聰明的計算方式
希望大家指點
[attach]9685[/attach]
作者: register313    時間: 2012-2-21 18:40

回復 6# vvcvc

季,月的公式前面已說明過了

改直式後修正如下
B2=SUM(INDIRECT(ADDRESS(ROW()*3,COLUMN())&":"&ADDRESS(ROW()*3+2,COLUMN()),1))
B6=SUMPRODUCT((MONTH($J$2:$J$400)=ROW()-5)*K$2:K$400)
作者: gong    時間: 2012-2-21 22:56

b2
=SUMPRODUCT((ROUNDUP(TEXT($J$2:$J$367,"m")/4,0)=(--RIGHT($A2,1)))*K$2:K$367)

b6
=SUMPRODUCT((TEXT($J$2:$J$367,"mmm")=$A6)*K$2:K$367)
作者: gong    時間: 2012-2-21 23:10

b18
=SUMPRODUCT((--(INT(($J$2:$J$367-DATE(2012,1,1))/7)+1)=(--(RIGHT($A18,2))))*(K$2:K$367))
作者: vvcvc    時間: 2012-2-22 00:12

本帖最後由 vvcvc 於 2012-2-22 01:06 編輯

又多一招,二種方式試過都成功
但最後版面做成一橫一直
先來研究二位的解答再自行修改成自己需要的
感謝指導

gong版主的公式中要小小修改一個數字,一季只有3個月,應該要除以3才對
b2
=SUMPRODUCT((ROUNDUP(TEXT($J$2:$J$367,"m")/3,0)=(--RIGHT($A2,1)))*K$2:K$367)
作者: vvcvc    時間: 2012-2-22 01:08

gong版主B18的答案
今年剛好1/1在W01的第一天,所以W01有7天
明年W01只有6天
這樣明年是不是就要重新修改計算式?
作者: Hsieh    時間: 2012-2-22 10:17

回復 9# gong

這個方法並無法取得真正WEEKNUM
只是從當年1/1日起算每7天為一周的算法
試試
B18=SUMPRODUCT(((INT(($J$2:$J$367-($J$2-WEEKDAY($J$2))-1)/7)+1)=ROW($A1))*(K$2:K$367))
作者: vvcvc    時間: 2012-2-23 00:10

不太懂為什麼要先減1再除7
之後卻又要再加1
可否解釋?
作者: Hsieh    時間: 2012-2-23 08:21

回復 13# vvcvc


$J$2-WEEKDAY($J$2)推算出第一周的起始日期本年度起算日
$J$2:$J$367-($J$2-WEEKDAY($J$2))當日日期減去本年度起算日
($J$2:$J$367-($J$2-WEEKDAY($J$2))-1)從起算日至當日經過幾天,為了與7整除會得到0所以加1
INT(($J$2:$J$367-($J$2-WEEKDAY($J$2))-1)/7)與7相除後取整數
整數在第一周會為0,由此推算加1以後才是正確WEEKNUM
作者: vvcvc    時間: 2012-4-7 00:23

本帖最後由 vvcvc 於 2012-4-7 00:24 編輯

在這個問題的檔案中其實還有一個分頁用來輸入raw data
在每一天的資料統計格子裡用的公式如下
=SUMPRODUCT((登記表!$I$6:$I$9999=$B97)*(登記表!$N$6:$N$9999=--(LEFT(E$16,1))))
$I$6:$I$9999是raw data中日期欄位,用來和計算的分頁比對日期以計算次數
今天發現一個問題
如果我$I$6:$I$9999的日期因同一天要登記多筆記錄
於是未一格一格填入日期而是直接將資料向下拉
使用上方的公式就會認不出下拉的欄位
若一格一格輸入則沒有問題

這是什麼原因?
原本以為在$I$6:$I$9999前加一個datevalue把那些儲存格的值強迫轉成日期來跟B欄的日期比對
但似乎是因為datevalue不是陣列公式而失敗
有什麼方法可以解決嗎?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)