→ soyoso: 先說公式一定不會是原文內的={IFERROR(...)} 03/21 17:12
→ soyoso: 大括號是按下組合鍵ctrl+shift+enter所產生的,且產生的地 03/21 17:12
→ soyoso: 方是{=IFERROR(...)} 03/21 17:13
→ soyoso: 原本用於offset cols的,0也可刪除 03/21 17:17
→ soyoso: 公式row(1:1)為回傳第1列的列號,就是1 03/21 17:18
→ soyoso: 但用$列絕對參照,也就是下拉拖曳都是會是回傳1 03/21 17:19
→ soyoso: 因此可改為1,結果是一致的 03/21 17:20
請問s大FIND($E2,$A$2:$A$68) find公式我單獨拉出來都是錯誤是為什麼,加IFERROR ,0
結果不就都是0嗎
(IF(IFERROR(FIND($E2,$A$2:$A$68),0)>0,ROW($A$2:$A$68),"") 不太懂這段的意思
如果在A2:A68找到E2的值是TRUE,則ROW(A2:A68) 那是要呈現什麼呢
※ 編輯: abc9gad (210.242.212.205), 03/21/2019 17:35:15
→ soyoso: small的邏輯為find儲存格e2的值於a2:a68,有搜尋到的話就 03/21 17:29
→ soyoso: 會回傳>=1的數值,判斷當大於0時,則回傳row(a2:a68)列號 03/21 17:31
→ soyoso: 這裡有元素對應,當a5是符合時,第4個元素就會是列號5 03/21 17:33
→ soyoso: iferror將find未搜尋到回傳錯誤值改為0值,判斷上未大於0 03/21 17:35
→ soyoso: 就都回傳為假的空字串"" 03/21 17:36
→ soyoso: =find(e2,a2:a68)於儲存格內,所回傳的結果是搜尋e2於a2 03/21 17:37
→ soyoso: 也就是說如果a2沒有找到就會回傳錯誤值 03/21 17:38
→ soyoso: 但如果a2就有符合的話,就會回傳>=1的數值 03/21 17:38
→ soyoso: 要呈現的是列號,當為真true就是在該元素內寫入對應的列號 03/21 17:41
所以我擷取=IF(IFERROR(FIND($E2,$A$2:$A$68),0)>0,ROW($A$2:$A$68),"")
也跑不出資料,是因為沒有用small,他在find A2的時候找不到值就直接判斷錯誤
要加入small讓它做範圍搜尋列的意思嗎?
※ 編輯: abc9gad (210.242.212.205), 03/21/2019 17:46:28
→ soyoso: 應該是這麼說find(e2,a2:a68),也會去搜尋除了a2外的a3: 03/21 17:56
→ soyoso: a68的部分,但find會回傳的是單一元素的結果,也就是搜尋 03/21 17:56
→ soyoso: 於a2所回傳的結果,加上其他函數如small,則會在這些元素 03/21 17:56
→ soyoso: 內回傳指定要的值 03/21 17:56
→ soyoso: 可以說這些元素在find時就存在了,再於單獨使用find時所回 03/21 17:59
→ soyoso: 傳的就是單一元素(第一筆)的結果,配合其他函數的變化,可 03/21 17:59
→ soyoso: 取得符合所需要的元素結果 03/21 17:59
→ soyoso: 補充一下,第一筆方面為測試公式find(e2,a2:a68)於第二列 03/21 18:46
→ soyoso: ,為find(e2,a2),當於第三列時會是find(e2,a3);但如果公 03/21 18:46
→ soyoso: 式鍵於第二列而公式是find(e2,a3:a68),就算a3是有符合也 03/21 18:46
→ soyoso: 會回傳錯誤值,這應該是當搜尋範圍為複數時,會找對應的儲 03/21 18:46
→ soyoso: 存格a2,但a2並不在a3:a68內所以產生錯誤值,因此當搜尋範 03/21 18:46
→ soyoso: 圍為複數時,也會依公式所在的列來找出對應的儲存格 03/21 18:46
S大謝謝您,雖然還沒有辦法完全參透,但已經有所提升了一些概念
※ 編輯: abc9gad (210.242.212.205), 03/22/2019 15:56:29
→ ahwii: Find()最好不要單獨取出,可以標選,然後按F9顯示陣列值 03/22 23:51