看板 Office 關於我們 聯絡資訊
軟體: excel 版本: 2016 兩序列數字 想要從特定位置開始 按照順序,由左至右 找出第一個小於對應位置的數 工作表1 A B C D E F G H I J K L 1 2 4 6 8 10 12 14 4 4.9 10 12 14 工作表2 A B C D E F G H I J K L 1 2 3 4 5 6 7 8 9 10 11 12 13 起始 工作表2 D1格 要從 工作表1 D1 開始往右找 找出第一個 小於或等於 工作表1 與工作表2 對應位置 的值 EX 工作表1 D1 =8 大於 工作表2 D1 = 5 (X) E1 =10 大於 E1 = 6 (X) F1 =12 大於 F1 = 7 (X) G1 =14 大於 G1 = 8 (X) H1 =4 小於 H1 = 9 (O) GET!第一個小於 I1 =4.9 小於 I1 = 10 (X) 不是第一個小於 答案為 工作表1 H1的4 (回傳值為工作表1對應位置的內容) 但如果用match會找到4.9(最近且小於) 請問該如何找出此值? 問題2 續前問 若工作表1與2並未完全映射(mapping)於工作表的對應位置 -------------> 工作表1 E F G H I J K L 2 2 4 6 8 4 5 8 10 -------------> 工作表2 M N O P Q R S 8 1 2 3 4 5 6 7 要從 工作表1的E2格 與 工作表2的M8格 由左往右 開始 最終取出I2格的4 該如何找呢? 感恩眾多熱心前輩高手協助,受助甚多,感激不盡 update : 修正問題二, 為 由左往右 問題3 抱歉,延伸上面兩問,對於參照仍有不瞭解之處還請指導 現在想從工作表3的來控制想取得的值 工作表1 A B C D E F G H I J K L M 1 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 2 小明 2 4 6 8 10 12 14 4 4.9 10 12 14 3 小華 3 5 7 9 11 13 15 17 3 8 6 4 工作表2 A B C D E F G H I J K L M 1 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 2 小明 2 3 4 5 6 7 8 9 10 11 12 13 3 小華 1 3 5 7 9 11 13 15 17 15 13 11 工作表3 A B C D 1 小明 1104 ???? 2 工作表3之C1為其值回傳的位置 按照前問的作法 改寫後會是 {=OFFSET(D2,,MATCH(TRUE,工作表1!E2:M2<工作表2!E2:M2,0))} 已然實做,這部分沒有問題 若比較之起始位置 E2 想要用工作表3之A1,B1分別決定 且如果M行之後還有很多很多行 無法事先得知其範圍 僅知道開始比較的出發點E2 該如何改寫呢? 抱歉問題有點多,尚祈眾師傅指導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.235.142 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1539752353.A.EA1.html ※ 編輯: AirRider (114.34.235.142), 10/17/2018 13:00:05
soyoso: 問題1 https://i.imgur.com/R1WJw8j.jpg 10/17 13:05
soyoso: 問題2 同上寫法,改一下範圍 10/17 13:09
soyoso: https://i.imgur.com/Y4UzA6E.jpg 10/17 13:09
soyoso: 另外箭頭方向往右,應是由左往右,和原文寫的由右往左不同 10/17 13:11
※ 編輯: AirRider (114.34.235.142), 10/17/2018 13:43:41
AirRider: 感謝,的確是由左往右,方向都是一樣的 10/17 13:43
AirRider: 抱歉,請問一下,這兩個工作表並未在一起,要如何改呢?? 10/17 23:38
AirRider: 範圍的地方用 工作表1!D1:L1<工作表2!D1:L1 取不出東西 10/17 23:41
soyoso: 未在一起指的是?不在同一個活頁簿內? 10/17 23:46
soyoso: 以回文的方式,如是在同一個活頁簿,而表格是在不同工作表 10/17 23:46
soyoso: 內,如回文寫的工作表1、工作表2的話 10/17 23:47
soyoso: https://i.imgur.com/OlN1a3m.jpg 是可以取得 10/17 23:47
AirRider: 我在工作表3 {=MATCH(TRUE,工作表1!省略<工作表2!省略,0 10/18 08:36
AirRider: ctrl shift enter仍然是該命令列沒有回傳值..... 10/18 08:36
AirRider: 完整公式是{=OFFSET(起始點,MATCH(...),MATCH(TRUE..))} 10/18 08:40
AirRider: 前面那段MATCH可以正常偏移(後面true那段用正整數帶入ok 10/18 08:41
AirRider: 但用MATCH(TRUE,...) 替換掉後就沒有回傳了 10/18 08:41
soyoso: 回文列偏移也有用match,但不知要尋找條件和欄位為何,就 10/18 08:48
soyoso: 模擬,搜尋2於原文所寫到的a欄內 10/18 08:48
soyoso: https://i.imgur.com/ZZil9z9.jpg 測試,儲存格是有回傳4 10/18 08:49
AirRider: 啊啊啊沒事我耍蠢了,正常call出要的東西了,感恩不盡!!! 10/18 08:51
AirRider: 非常感謝,我知道我哪裡做錯了 10/18 08:51
※ 編輯: AirRider (114.34.235.142), 10/18/2018 13:23:54
AirRider: 抱歉,又新增一問,懇請指導.... 10/18 13:24
※ 編輯: AirRider (114.34.235.142), 10/18/2018 13:25:15 ※ 編輯: AirRider (114.34.235.142), 10/18/2018 13:26:06
soyoso: https://i.imgur.com/iRblwiP.jpg 類似這樣 10/18 13:43
soyoso: 範圍會從搜尋到的欄號至最右側欄xfd,如覺得不需要或執行 10/18 13:45
soyoso: 上效率不好的話,可改一個較大或以函數count或counta來計 10/18 13:46
soyoso: 數日期列(如連結來看為第1列),來做為offset範圍的欄數 10/18 13:47
AirRider: 學習了,感謝您的回覆,正在試做中 10/18 14:24
AirRider: 感謝,已經試做成功,感謝您的熱心指導 10/20 16:16