Board logo

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

作者: myshowin    時間: 2012-2-5 10:32     標題: 請教如何把橫式表格符合條件資料改成直式另列在一個工作表內

本帖最後由 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
作者: Hsieh    時間: 2012-2-5 21:20

回復 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)))
作者: PJChen    時間: 2012-2-6 10:56

回復 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))
[attach]9463[/attach]
作者: ANGELA    時間: 2012-2-6 14:04

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)))
作者: PJChen    時間: 2012-2-6 17:02

回復 4# ANGELA
我套上公式後,只有A2儲存格可以正確的代出資料,其餘都出現#N/A,不管我有沒有使用陣列公式都一樣,不知哪裡出錯了!
[attach]9465[/attach]
作者: register313    時間: 2012-2-6 18:53

回復 5# PJChen

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

[attach]9467[/attach]
作者: Hsieh    時間: 2012-2-6 19:01

回復 5# PJChen

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

    [attach]9468[/attach]
作者: ANGELA    時間: 2012-2-7 10:08

回復 5# PJChen

    請參考
    http://forum.twbts.com/thread-5766-1-1.html
作者: PJChen    時間: 2012-2-7 11:56

回復 8# ANGELA

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

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

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

回復 10# PJChen


    在任一儲存格中(先按住ALT)再輸入160此時會產生一個看不見的空白字元,再把這個字元COPY 到尋找目標,按全部取代。
作者: myshowin    時間: 2012-2-7 20:21

回復 2# Hsieh


    感謝您的幫忙
作者: PJChen    時間: 2012-2-7 21:35

回復 11# ANGELA
我按住Alt時出現附檔1的畫面,輸入16時出現2的畫面,再輸入0時出現附件2左邊的小框框的字,再回到Excel的畫面在輸入Alt+160的儲存格,先copy然後按ctrl+h貼上這個看不見的字元,但完全沒有任何改變,我起碼試了10次以上!
[attach]9480[/attach][attach]9481[/attach]
作者: myshowin    時間: 2012-2-7 22:05

回復 13# PJChen


請問您是要取代空白嗎?
如果是的話,應該要先ctrl+H出現取代視窗
再按alt+160 (看不見是正常的)
然後再按全部取代

我遇到會有這種情形,通常會出現這個應該是直接網頁複製資料時比較會出現,不然沒有作用
作者: myshowin    時間: 2012-2-7 22:09

回復 2# Hsieh


您好:
再請教您,
若有大於8的值,例如 9~15,仍是取8和7
又需如何修改?

不好意思一開始沒說清楚
感謝
作者: PJChen    時間: 2012-2-7 22:30

回復 14# myshowin
我照你的方法還是不行,先出現ctrl+h然後在尋找目標的地方Alt+160,結果電腦就一直噹...的發出聲音,顯示行不通!
作者: Hsieh    時間: 2012-2-7 22:30

回復 15# myshowin
你到現在也還沒說清楚
9~15有7個值,誰知道你要那些值以7取代,那些以8取代
作者: register313    時間: 2012-2-7 22:41

回復 16# PJChen

在EXCEL內比較不容易取代不可見字元

把EXCEL的資料複製到WORD
在WORD比較容易取代
取代完再貼回EXCEL
作者: myshowin    時間: 2012-2-7 22:44

回復 17# Hsieh


抱歉,不太會說明
應該說只要7和8,其他的值都不要(值有可能大於8)
作者: PJChen    時間: 2012-2-7 23:00

回復 18# register313
我依你建議在word中照著方法確實可以完成,但本著求知的精神,我真的很想知道在Excel中我的動作到底哪裡有問題,為什麼Angel教我的卻無法完成?而只是出現一些怪怪的畫面?另外我又有一個新發現,我將有空格的文字格式複製到一個新的工作表中貼上,尚未存檔的,一樣在任一儲存格中Alt+160(60還沒按),就出現另存新檔的對話框,我真的弄不明白,我很想完成Angel教的方法,但一直有問題,有誰也可以幫忙試試看要如何操作?
作者: Hsieh    時間: 2012-2-7 23:43

回復 19# myshowin

M2陣列公式
=IF(ROW(A2)>(COUNTIF($B$2:$K$6,7)+COUNTIF($B$2:$K$6,8)),"",INDIRECT("A"&MOD(SMALL(IF(($B$2:$K$6>6)*($B$2:$K$6<9),--(COLUMN($B$2:$K$6)*100&ROW($B$2:$K$6)),""),ROW(A2)),100)))
N2陣列公式
=IF(M2="","",INDIRECT("R1C"&SMALL(IF((INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)>6)*(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)<9),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)))
[attach]9485[/attach]
作者: Hsieh    時間: 2012-2-7 23:50

回復 20# PJChen

你應該是使用鍵盤上排的數字,使用字元碼輸入必須按住ALT+數字鍵
[attach]9486[/attach]
作者: PJChen    時間: 2012-2-8 11:18

回復 22# Hsieh

謝謝您找到了問題的所在,在數字鍵輸入Alt+160確實可以產生一個空白字元,但無法將它copy貼上並取代為其它字元,無論我是直接copy儲存格,或將空白字元反黑選取都無法copy!
作者: Hsieh    時間: 2012-2-8 14:08

回復 23# PJChen


    直接在尋找目標內使用ALT+160
作者: myshowin    時間: 2012-2-8 19:18

回復 21# Hsieh

我太笨,昨天自已試著修改了幾個小時,總是會有少,
原來問題出在下面藍字的地方
非常感謝您的解答,我獲易良多

以下是超級版主Hsieh 教學原文:
M2陣列公式
=IF(ROW(A2)>(COUNTIF($B$2:$K$6,7)+COUNTIF($B$2:$K$6,8)),"",INDIRECT("A"&MOD(SMALL(IF(($B$2:$K$6>6)*($B$2:$K$6<9),--(COLUMN($B$2:$K$6)*100&ROW($B$2:$K$6)),""),ROW(A2)),100)))
N2陣列公式
=IF(M2="","",INDIRECT("R1C"&SMALL(IF((INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)>6)*(INDEX($B$1:$K$6,MATCH(M2,$A$1:$A$6),)<9),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)))
作者: PJChen    時間: 2012-2-9 15:07

回復 24# Hsieh
14F朋友昨天有提過,我也試了,結果是沒有作用.
作者: Hsieh    時間: 2012-2-9 17:35

回復 26# PJChen
[attach]9513[/attach]
作者: PJChen    時間: 2012-2-10 16:18

回復 27# Hsieh

謝謝版主耐心的教導,成功了!




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