返回列表 上一主題 發帖

[發問] 請教如何把橫式表格符合條件資料改成直式另列在一個工作表內

[發問] 請教如何把橫式表格符合條件資料改成直式另列在一個工作表內

本帖最後由 myshowin 於 2012-2-5 10:37 編輯

我試了好久,都試不出來,拜託高手幫忙提點,感謝
※代碼為手動輸入
職工編號        2/1        2/2        2/3        2/4        2/5        2/6        2/7        2/8        2/9        2/10
610007        8        8        1                        1                1        1        1
610012        1        1        1                        8        8        1        1        1
610015                1        8                        1        1        8        8        8
610017        1        1        1                        1        8        8        1        1
610022        1        1        1        7        7        1                1        1        1

※符合代碼為8或7的資料,依下面的格式顯示
職工編號        日期        代碼
610007        2月1日        8
610007        2月2日        8
610012        2月6日        8
610012        2月7日        8
610015        2月3日        8
610015        2月8日        8
610015        2月9日        8
610015        2月10日        8
610017        2月7日        8
610017        2月8日        8
610022        2月4日        7
610022        2月5日        7

book1.JPG (63.29 KB)

book1.JPG

回復 1# myshowin

M2陣列公式=IF(ROW(A1)>COUNTIF($B$2:$K$6,">6"),"",INDIRECT("A"&MOD(SMALL(IF($B$2:$K$6>6,--(COLUMN($B$2:$K$6)*100&ROW($B$2:$K$6)),""),ROW(A1)),100)))

N2陣列公式=IF(M2="","",INDIRECT("R1C"&SMALL(IF(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)>6,COLUMN(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),0)),""),COUNTIF($M$1:M2,M2)),0))

O2陣列公式=IF(N2="","",INDEX($A$1:$K$6,MATCH(M2,$A$1:$A$6,0),MATCH(N2,$A$1:$K$1,0)))
學海無涯_不恥下問

TOP

回復 2# Hsieh
請問我將資料分成二個sheet,為什麼無法代出資料?
另外N2陣列公式的R1C表示什麼?要如何運用?=IF(M2="","",INDIRECT("R1C"&SMALL(IF(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)>6,COLUMN(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),0)),""),COUNTIF($M$1:M2,M2)),0))
資料轉換.zip (7.94 KB)

TOP

a2=IF(ROW(出勤!A1)>COUNTIF(出勤!$B$2:$K$6,">6"),"",INDIRECT("出勤!A"&MOD(SMALL(IF(出勤!$B$2:$K$6>6,--(COLUMN(出勤!$B$2:$K$6)*100&ROW(出勤!$B$2:$K$6)),""),ROW(出勤!A1)),100)))
b2=INDIRECT("出勤!r1c"&SMALL(IF(INDEX(出勤!$B$1:$K$6,MATCH(A2,出勤!$A$1:$A$6,),)>6,COLUMN(INDEX(出勤!$B$1:$K$6,MATCH(A2,出勤!$A$1:$A$6,),0)),""),COUNTIF(A$2:$A2,A2)),0)
c2=IF(B2="","",INDEX(出勤!$B$2:$K$6,MATCH(A2,出勤!$A$2:$A$6,0),MATCH(B2,出勤!$B$1:$K$1,0)))

TOP

回復 4# ANGELA
我套上公式後,只有A2儲存格可以正確的代出資料,其餘都出現#N/A,不管我有沒有使用陣列公式都一樣,不知哪裡出錯了!
資料轉換.zip (9.82 KB)

TOP

回復 5# PJChen

出勤工作表
       職工編號 與 代碼 儲存格 應為數字格式(靠右對齊)
你的 職工編號 與 代碼 儲存格   為文字格式(靠左對齊)
   因 職工編號 與 代碼 儲存格 內出現不可見字元(清除後即可)

資料轉換.rar (8.3 KB)

TOP

回復 5# PJChen

問題出在出勤工作表中的資料都是文字型態

    資料轉換.rar (10.13 KB)
學海無涯_不恥下問

TOP

回復 5# PJChen

    請參考
    http://forum.twbts.com/thread-5766-1-1.html

TOP

回復 8# ANGELA

我到這個連結去看了,我照著上面寫的方法作,也完全沒有任何反應,不好意思,我完全不明白!什麼叫ALT+16的空白分隔字符?按CTRL+H 在尋找目標如何ALT+160?

這應是下載的數据,含有ALT+160的空白分隔字符。按CTRL+H 在尋找目標=>輸入ALT+160 ,或直接在數据尾的空白反白按CTR+C,再貼在尋找目標裡。
用替代取代數字後的空白即可計算。

TOP

回復 7# Hsieh
您說的文字型態,我查看了一下,雖然在儲存格中看到的是"通用格式",但每個儲存格中的數字後面有都一個空格,我用鍵盤上的ctrl+H,搜尋空格也無法找到,有無法法可以一次取代數字後的空格?Angela的方法我試不出來!

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題