Board logo

標題: 如何抓取對應資料 [打印本頁]

作者: baomin    時間: 2010-7-6 15:50     標題: 如何抓取對應資料

各位前輩及大大好:
小弟有個問題想請教,就是在我附加檔裡sheet1裡輸入模數和秒數
時,能在sheet2找到相對應的值,如輸入1模78秒,就會帶入657,
5模79秒則帶入577,這該如何做,請各位前輩指點,再次說聲謝謝
作者: kimbal    時間: 2010-7-7 00:10

各位前輩及大大好:
小弟有個問題想請教,就是在我附加檔裡sheet1裡輸入模數和秒數
時,能在sheet2找到相 ...
baomin 發表於 2010-7-6 15:50


整理一下欄位數字, 可讓公式看得懂,這樣就不需要慢慢寫程式
[attach]1715[/attach]
作者: baomin    時間: 2010-7-7 09:39

kimbal大大好
因為我權限目前還是小學生,所以沒辦法下載zIP檔,可否貼圖,再次麻煩
作者: linsk3470    時間: 2010-8-6 01:15

[attach]2234[/attach][attach]2233[/attach][attach]2232[/attach]
作者: linsk3470    時間: 2010-8-6 01:16

[attach]2235[/attach]
作者: linsk3470    時間: 2010-8-6 01:17

[attach]2236[/attach]
作者: kimbal    時間: 2010-8-6 02:21

回復 3# baomin


    不好意思,上個月不太熟環境 ,沒收到提示, 以下是公式:
[attach]2243[/attach]
作者: GBKEE    時間: 2010-8-6 10:42

回復 7# kimbal
板主的公式=INDEX(Sheet1!$C$2:$G$8,MATCH(B2,Sheet1!$B$1:$B$8,1),MATCH(Sheet2!A2,Sheet1!C$1:G$1,0))會有差異
當B欄是80, 100,120,140,160,180 傳回的是下一列的值
當B欄是200時 則會超出範圍 =#REF!
回復 1# baomin
依1樓 SHEET2.JPG 圖表 所寫的自訂函數   請將程式碼複製到 一般模組中(Module)使用
  1. '傳回 模數所對應到秒數的數據  範圍必需包含模數列  秒數列
  2. Function Ex(範圍 As Range, 模數 As String, 秒數 As Integer) As Integer
  3.     Dim C As Range, Row%, Col%
  4.     If Not 範圍.Rows(1).Find(模數, LookIn:=xlValues, LOOKAT:=xlWhole) Is Nothing Then
  5.         Col = 範圍.Rows(1).Find(模數, LookIn:=xlValues, LOOKAT:=xlWhole).Column
  6.     End If
  7.     For Each C In 範圍.Columns(1).Cells
  8.          If C.Row > 1 Then
  9.             If Val(Split(C, "~")(0)) <= 秒數 And Val(Split(C, "~")(1)) >= 秒數 Then
  10.                 Row = C.Row
  11.                 Exit For
  12.             End If
  13.         End If
  14.     Next
  15.     If Row > 0 And Col > 0 Then Ex = Sheets(範圍.Parent.Name).Cells(Row, Col)
  16. End Function
複製代碼

作者: baomin    時間: 2013-8-18 20:10

Kinbal大大,GBKEE大大,沒跟各位告知測試結果,深感抱歉,因為我已經離開工作的公司且有一陣子沒上家族,對於兩位大大熱情的解答,非常感謝




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