Board logo

標題: 挑選日期 [打印本頁]

作者: regedit77    時間: 2011-4-26 23:04     標題: 挑選日期

A1-A31欄是日期1-31
B1-B31欄是員工上班日,但不是每天上班
例:1-5日上班 8-20上班 27上班

在
B40-B51及C40-c51
依序填滿上班的日期
(上班日期不會超過22天所以格子夠用)

目的是要知道XXX這個人上班日子有那些
作者: Hsieh    時間: 2011-4-26 23:28

B40陣列公式
=IF(12*(COLUMN(A$1)-1)+ROW($A1)>COUNTA($B$1:$B$31),"",SMALL(IF($B$1:$B$31="上班",$A$1:$A$31,""),12*(COLUMN(A$1)-1)+ROW($A1)))
作者: regedit77    時間: 2011-4-27 07:41

版主真是太神了,真的感謝您幫我解決這個難題,但我在列上加入姓名等資料後上班日期就錯誤了,我的日期現在是從a8為1開始到31日的,從row這�塈鵀�都沒成功,可能要麻煩版主了
作者: gong    時間: 2011-4-27 08:56

B40陣列公式
這個意思不知是否清楚
如不清楚
試著
shifr+ctrl+enter
三鍵一起按
作者: regedit77    時間: 2011-4-27 11:58

對不起,可能沒有講清楚,公式是真的有看沒有懂重新上傳了附件
原本B40的公式到B47去了資料就有點問題了
作者: gong    時間: 2011-4-27 12:34

B47
{=IF(12*(COLUMN(A$8)-1)+ROW($A1)>COUNTA($B$8:$B$38),"",SMALL(IF($B$8:$B$38="上班",$A$8:$A$38,""),12*(COLUMN(A$8)-1)+ROW($A1)))}
作者: regedit77    時間: 2011-4-27 17:32

感謝版主,原來是我把ROW($A1)也改成ROW($A8)所以才資料錯誤,謝謝了
作者: regedit77    時間: 2011-4-27 19:07

現在有遇到 了一個問題就是原本沒上班的地方是空白的,可能因休假,所以就打上休假
現在出現了#NUM!  
如附件

感恩版主
作者: ANGELA    時間: 2011-4-28 10:37

COUNTA 是只要有資料都計算,改用
IF(12*(COLUMN(A$8)-1)+ROW($A1)>COUNTIF($B$8:$B$38,$B$8)
作者: regedit77    時間: 2011-4-28 15:40

感謝 ANGELA 大哥的指導,也感謝版主之前的幫忙,有空真的要好好學一下
不過矩陣還真不太好懂,不知有沒有什麼好書可看,不過這個網站真是值得推薦的好網站
作者: ANGELA    時間: 2011-4-28 20:54

只要在本論壇多看多做多問,一切搞定.
不要心急.
作者: regedit77    時間: 2011-5-5 22:09

用了 ANGELA 大哥的方法後發現了一個問題就是每月第一天 (B8)那一格若是空白的話就無法計算了
怎麼會這樣呢
作者: ANGELA    時間: 2011-5-5 22:49

B8原意是"上班"
B8改空白,那當然不能用了.
COUNTIF($B$8:$B$38,$B$8)
=> COUNTIF($B$8:$B$38,"上班")
作者: regedit77    時間: 2011-5-6 13:16

原來是這樣,再次謝謝 ANGELA 大哥的指導




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