看來看去你的會辦文號原則是︰字第年月日-流水碼號
可以初步拆解為︰"字號"+年月日+"-"+流水碼 +"號"
依據你的公式來說 "字號"+年月日+"-"+流水碼+"號" 部分沒問題
你的問題點可能是流水碼的產生
因此先解決 1.辦文號原則 A 部分: 字第年月日- 號
轉成試算表公式:
語法:
IF(A2="","","字第 "&TEXT(A2,"eemmdd")&"-"&G2&" 號")
輸出為字第 971110-x 號
那個
G2 就是流水碼
------------------------------------------------------
再來是流水碼的產生依據,此依據照你的意思應該是只要當日有提出,
單位+案名+文件種類,就能自動產出吧。
因此初步拆解為:
語法:
IF(是不是當日) then IF(單位+案名+文件種類) then MARK 流水碼(當日從 1 開始累計)
在拆:
語法:
IF(原筆日期=前筆日期 )
then IF(原筆(單位+案名+文件種類)=前筆(單位+案名+文件種類))
then MARK 前筆流水碼 else MARK 前筆流水碼+1
else 預設流水碼為 1
轉成試算表公式:
語法:
IF(A2=A1
,IF(TRIM(B2)&TRIM(D2)&TRIM(E2)=
TRIM(B1)&TRIM(D1)&TRIM(E1)
,MID(RIGHT(F1,3),1,1)
,MID(RIGHT(F1,3),1,1)+1)
,1)
最後組合的後的試算表公式:
語法:
IF(A2="","",
"字第 "&TEXT(A2,"eemmdd")&"-"&
IF(A2=A1
,IF(TRIM(B2)&TRIM(D2)&TRIM(E2)=
TRIM(B1)&TRIM(D1)&TRIM(E1)
,MID(RIGHT(F1,3),1,1)
,MID(RIGHT(F1,3),1,1)+1)
,1)
&" 號")
輸出為字第 971110-1 號
輸出為字第 971110-2 號
這種公式會有幾個缺點:
1.資料需要排序,不然相同的日期下,相同流水碼條件的會有不同的流水碼產生。
2.日期需要使用日期格式儲存。
3.流水碼條件的(單位+案名+文件種類),若有包含空白字元,將會被公式
視為不同。就算是用 TRIM() 排除部分的含空白字元也是如此。
4.每一筆資料的文件案號的儲存格都要有相依的公式不然沒有作用。
因此,若要使用建議應採用 VBA 會比較好,可惜我不會 VBA。
試作表格下載:
修正之後
http://www.badongo.com/file/12166645
原始的多下一個"主辦人"的條件
http://www.badongo.com/file/12163481
如果這不是樓主的意思的話,那就算了,是我想錯了。請樓主慢慢想吧。