[問題] 關於excel的offset語法問題

看板Office作者 (Diablo)時間16年前 (2010/06/06 21:38), 編輯推噓5(5028)
留言33則, 3人參與, 最新討論串1/1
excel有2個工作表分別是 通訊錄以及詳細資料 ※在詳細資料工作表上 B6格上的語法是 =OFFSET(通訊錄!$A$3,$B$2,1) 請問這是 代表什麼意思?? 看書上寫Offset函數的語法是「Offset(當成基準的儲存格,行數,列數)」 如果是=OFFSET(A2,2,1)還可以理解 問題是在 改變 詳細資料的B2時,B3與B6等其他部分會跟著改變 B3,B6等部份 能抓 通訊錄 的內容 B6 =OFFSET(通訊錄!$A$3,$B$2,1) 這部份 還是 很難理解 通訊錄! 代表 抓 通訊錄的資料表 但是 我看 通訊錄 的A3是顯示編輯畫面 B2是空白的 跟=OFFSET(A2,2,1)感覺不一樣耶 為啥 可以放 $A$3,$B$2,1 =OFFSET(A2,2,1) 指 A2 下移2 右移1 到了 B4 =OFFSET(通訊錄!$A$3,$B$2,1) 這邊一整個 不懂 怎移法 >"< 附上範例連結 http://www.FunP.Net/749878 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.6.13.220

06/06 22:13, , 1F
B2不是空白的喲..那是"詳細資料"的列編號!!
06/06 22:13, 1F

06/06 22:15, , 2F
這個不難懂...他利用列編號也就是$B$2這個CELL
06/06 22:15, 2F

06/06 22:16, , 3F
利用這個數值去代入OFFSET..代表要下移幾個
06/06 22:16, 3F

06/06 22:17, , 4F
當然最後一個參數就是往右啦~~
06/06 22:17, 4F

06/06 22:20, , 5F
感謝回覆>"<那A3又是啥??...好難理解..通訊錄 又移位的...
06/06 22:20, 5F

06/06 22:23, , 6F
為什麼可以抓到 通訊錄的對應位置?? 好難懂....@@
06/06 22:23, 6F

06/06 22:26, , 7F
=OFFSET(通訊錄!$A$3,$B$2,1) 跟 =OFFSET(通訊錄!A3,B2,1)
06/06 22:26, 7F

06/06 22:27, , 8F
好像都一樣...但是 不知道=OFFSET(通訊錄!A3,B2,1)的意思....
06/06 22:27, 8F

06/06 22:32, , 9F
A3就是通訊錄上的"顯示資料畫面"儲存格..
06/06 22:32, 9F

06/06 22:34, , 10F
那好吧以你上面這個來說好了...第一個參數要確定以那一格為
06/06 22:34, 10F

06/06 22:35, , 11F
要怎麼 下移$B$2個 通常下移不是數字嗎@@?
06/06 22:35, 11F

06/06 22:37, , 12F
基準..所以說只要代入B2也就是要尋找的列數...
06/06 22:37, 12F

06/06 22:38, , 13F
可以是參照某個儲存格啊...不然如何配合VBA去執行巨集..
06/06 22:38, 13F

06/06 22:40, , 14F
B2那個初始值就是設定成0..只要按"前"或"後"就會+1和-1的
06/06 22:40, 14F

06/06 22:45, , 15F
努力理解中.....@@|||有問題再問 感謝回覆
06/06 22:45, 15F

06/06 22:58, , 16F
大概是我說的不好..希望有大大可以幫忙..
06/06 22:58, 16F

06/06 23:01, , 17F
=OFFSET(通訊錄!$A$3,$B$2,1)
06/06 23:01, 17F

06/06 23:01, , 18F
指 以通訊錄A3為基準 也就是0
06/06 23:01, 18F

06/06 23:01, , 19F
依 詳細資料B2而改變 再右移1
06/06 23:01, 19F

06/06 23:01, , 20F
詳細資料B2 如果1 就是 通訊錄A3 往下1 再右移1
06/06 23:01, 20F

06/06 23:02, , 21F
推出來是這樣 但是感覺解釋的很牽強耶...
06/06 23:02, 21F

06/06 23:04, , 22F
搞不懂那個語法 會跟著詳細資料B2數值不同而改變...
06/06 23:04, 22F

06/06 23:14, , 23F
這要直接背起來嗎@@??..
06/06 23:14, 23F

06/06 23:37, , 24F
搞清楚目的會比較好理解 首先 "通訊錄"是個database
06/06 23:37, 24F

06/06 23:38, , 25F
"詳細資料"是搜尋頁面 你只要改變列編號 就會抓出不同的資料
06/06 23:38, 25F

06/06 23:43, , 26F
列編號12 就先定位在通訊錄!$A$3 再往下移12格
06/06 23:43, 26F

06/06 23:44, , 27F
就會抓到第12個人的ID 同理 往右移是姓 再來是名
06/06 23:44, 27F

06/06 23:47, , 28F
為什麼要下移$B$2格 因為$B$2是你的input 是可以改變的
06/06 23:47, 28F

06/07 01:29, , 29F
謝謝Tenka的回覆,這種方式比較好理解 還要花時間理解習慣下
06/07 01:29, 29F

06/07 01:30, , 30F
另外=OFFSET(通訊錄!$A$3,$B$2,1) =OFFSET(通訊錄!A3,B2,1)
06/07 01:30, 30F

06/07 01:31, , 31F
這兩者應該效果沒什麼不同吧?不知道為啥書中使用前者?...
06/07 01:31, 31F

06/07 22:32, , 32F
當然是沒有不同...只是加個$代表是固定的
06/07 22:32, 32F

06/09 10:54, , 33F
謝謝shihpi的回答 XD...
06/09 10:54, 33F
文章代碼(AID): #1C2wJCit (Office)
文章代碼(AID): #1C2wJCit (Office)