Board logo

標題: 如何抓取另一Sheet裡各欄位的資料 [打印本頁]

作者: wghost    時間: 2012-8-9 17:04     標題: 如何抓取另一Sheet裡各欄位的資料

Hsieh超級版主~您好

感謝之前為小弟解決一些EXECL的問題~

現在小弟又有一個難題~就是要抓取Sheet的資料
例如:
資料室每天在變動的~還有每天的資料有三筆~當原Sheet為橫式資料要另一Sheet轉成直式
而且轉成直式後~因為學生多資料多~想利用儲存格右下角拖拉方式複製~確資料對不上(直式資料只有一欄橫式有三筆,抓到錯誤的資料)

附上簡略檔案~想請你幫防~

謝謝~感恩~~~~~~
作者: ANGELA    時間: 2012-8-9 22:30

=INDIRECT("基本值!r"&MATCH($A$3,基本值!$A$1:$A$32,)&"c"&MATCH(M$1,基本值!$A$1:$BR$1,)+ROW(A1)-1,0)
作者: wghost    時間: 2012-8-10 16:00

本帖最後由 Hsieh 於 2012-8-10 20:52 編輯

ANGELA 你好~謝謝你的解答~
可是當Sheet基本值的最前面還有一些備用說明欄位(約有多了8個欄位)
整個Sheet分析區~抓取值就錯亂了~
我已經花了一整天~想修改參數~還是無法處理~(可能我很對這些指令不清楚)
還有程式=INDIRECT("基本值!r"&MATCH($A$3,基本值!$A$1:$A$32,)&"c"&MATCH(M$1,基本值!$A$1:$BR$1,)+ROW(A1)-1,0)

那個r還有&以及"c"再加上"ROW(A1)-1"的作用是甚麼~我不懂~想再請教你~

感恩~~~~
作者: wghost    時間: 2012-8-10 16:26

再附上欲處理檔案~謝謝~
作者: Hsieh    時間: 2012-8-10 21:02

本帖最後由 Hsieh 於 2012-8-10 21:05 編輯

回復 4# wghost

M1=INDIRECT("基本值!r"&MATCH(LOOKUP("龘",$A$3:$A3),基本值!$I:$I,0)&"c"&MATCH(M$1,基本值!$1:$1,)+ROW($A1)-1,0)
MATCH(LOOKUP("龘",$A$3:$A3),基本值!$I:$I,0)找出學生所在列號
MATCH(M$1,基本值!$1:$1,)找到該日期欄位
ROW($A1)-1向右位移量
作者: wghost    時間: 2012-8-11 12:28

本帖最後由 Hsieh 於 2012-8-11 15:19 編輯

Hsieh超級版主大哥~您好

謝謝您的解答~

但很奇怪ㄟ~
我將您給的程式複製在"欲處理檔案裡"是OK的~
但我將它複製在正式的檔案表格裡~卻是出現#N/A~
後來嘗試了很久~還是無法如願~
還有MATCH(LOOKUP("龘",$A$3:$A3)的"龘"是甚麼~
我索性不用複製的~把程式一字一字敲進去~卻出現程式錯誤~錯誤點在"龘"的字上面~

呵呵~我真是學不會~笨ㄟ
再次請教~
作者: Hsieh    時間: 2012-8-11 12:53

本帖最後由 Hsieh 於 2012-8-11 15:31 編輯

回復 6# wghost
龘是文字中的最大值,因為分析區A欄的姓名是合併儲存格
所以,在分析區的A欄往上找到比龘小的文字位置,就是姓名
如果,你姓名是用數字編號就會出錯,因為找不到文字
可改用
LOOKUP(2,1/($A$3:$A3<>""),$A$3:$A3)
[attach]12090[/attach]
[attach]12091[/attach]
作者: white945    時間: 2012-8-11 16:37

回復 5# Hsieh
M1=INDIRECT("基本值!r"&MATCH(LOOKUP("龘",$A$3:$A3),基本值!$I:$I,0)&"c"&MATCH(M$1,基本值!$1:$1,)+ROW($A1)-1,0)

這樣的公式複製到第2個學生以後就出錯了
M1=INDIRECT("基本值!r"&MATCH(LOOKUP(2,1/($A$3:$A3<>""),$A$3:$A3),基本值!$I:$I,0)&"c"&MATCH(M$1,基本值!$1:$1,)+MOD(ROW()-14,11),0)
這樣每個學生都是10列資料,中間空一行才對應的上
作者: wghost    時間: 2012-8-11 22:30

本帖最後由 Hsieh 於 2012-8-11 22:45 編輯

呵呵~
果然如Hsieh超級版主大哥您所說的~
確實我的分析區A欄位是以座號編號為開頭~我已經把數字座號調開了~
呵呵~居然OK了~但也須改成LOOKUP(2,1/($A$3:$A3<>""),$A$3:$A3)

也謝謝各位大大(white945)相關資訊的提供~

萬分感恩~~~~~~~~~~
作者: wghost    時間: 2012-8-12 14:02

Hsieh超級版主~您好~
ㄟ很奇怪ㄟ
在正式的檔案表格裡~當天分析表Sheet"最高值"欄位~怎麼是出現該"學生的名字"(當天的其他值都正常)
更奇怪的事~我嘗試調整電腦日期為次一日~卻換成次一日"最高值"欄位是該"學生的名字"~而前一日的"最高值"已回復正確的值了~????
怪ㄟ~呵呵~
作者: wghost    時間: 2012-8-12 22:48

繼續努力找問題解決~
又發現真正問題~
在正式的檔案表格裡~當天分析表Sheet"最高值"欄位~抓到該"學生的名字"
依此類推~"最低值"欄位~是抓到基本值的"最高值"
"轉換值"欄位~是抓到基本值的"最低值"
(應該說是資料往前位移一個)

更奇怪的事~我嘗試調整電腦日期為"次一日"(明天的日子)~~而前一日的"值"已回復正確的值了~
但次一日的資料還是往前一個位移(從基本值得學生姓名開始抓)

作者: Hsieh    時間: 2012-8-12 23:19

回復 11# wghost
以附件來測試並無你所說的現象
不知你檔案正確格式為何?無法找出錯誤形成原因
建議你把資料以其他文字取代後上傳說明你的問題
作者: wghost    時間: 2012-8-12 23:28

還是再努力找問題~
問題真正的呈現點是~
當天的三筆資料(最高值,最低值,轉換值)是抓到基本值的"學生名"~"最高值"~"最低值"(往前位移一個)~
但我嘗試調整電腦日期為次一日期~那變成前一日的三筆資料就正確了~可式次一日(變成當天本日)的資料還是像前述一樣~抓到往前位移一個欄位的資料(從基本值的"學生名開始)
????真是奇怪~
作者: white945    時間: 2012-8-12 23:49

繼續努力找問題解決~
又發現真正問題~
在正式的檔案表格裡~當天分析表Sheet"最高值"欄位~抓到該"學生的名 ...
wghost 發表於 2012-8-12 22:48

公式中與當日日期一點關係也沒有啊!
完全是以該欄第一列的日期去抓基本值工作表的日期
不知道老兄您是怎麼測試的?
作者: wghost    時間: 2012-8-13 11:51

各位大大~您好~

附上檔案~再次請教囉~

謝謝~感恩~
作者: Hsieh    時間: 2012-8-13 12:27

回復 15# wghost


    N3=INDIRECT("基本表!r"&MATCH(LOOKUP(2,1/($A$3:$A3<>""),$A$3:$A3),基本表!$I:$I,0)&"c"&MATCH(N$1,基本表!$J$1:$IV$1,)+ROW($A1)+8,0)
作者: wghost    時間: 2012-8-13 14:30

超級版主大哥~謝謝您囉~

OK~呵呵~感恩~~~~~~




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