vlookup 公式下拉後有的會抓到,有的會出現#n/a
- 帖子
- 28
- 主題
- 4
- 精華
- 0
- 積分
- 35
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- office2010
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2014-3-13
- 最後登錄
- 2014-4-18
|
vlookup 公式下拉後有的會抓到,有的會出現#n/a
我有工作表1和工作表2,在工作表1是出貨單,表2是合約標單
出貨單的項目名稱有設定下拉選單,只要選取下拉選單,單位及合約數量即可自動出現
但目前有個問題是我寫完公式後,有的會出現正確的結果,有的則會出現#N/A
我寫的公式如下
=IF(E9="","",VLOOKUP(E9,合約!$B$3:$D$2470,2,0))
查文說有可能是儲存格的格式,所以格式全改為通用格式
出現#N/A的地方還是#N/A
想請問還有什麼原因會造成部份可讀取,部份無法讀取。 |
|
|
|
|
|
|
- 帖子
- 49
- 主題
- 3
- 精華
- 0
- 積分
- 74
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- XP
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2014-2-13
- 最後登錄
- 2020-9-18
|
2#
發表於 2014-3-26 11:25
| 只看該作者
|
動念成因積因成果 by huijuang
|
|
|
|
|
- 帖子
- 396
- 主題
- 12
- 精華
- 0
- 積分
- 425
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台中
- 註冊時間
- 2013-7-2
- 最後登錄
- 2024-8-23
  
|
3#
發表於 2014-3-26 11:44
| 只看該作者
回復 1# 妤璇
因為他比對不到資料的時候就會出現#N/A呀,有比對到資料就會秀出對應的數值,
如果改成這樣,有比對到就會秀出對應數值,但沒比對到,就會空白:
=IF(ISERROR(VLOOKUP(E9,合約!$B$3:$D$2470,2,0)),"",VLOOKUP(E9,合約!$B$3:$D$2470,2,0))
記得OFFICE 2007以上有個IFERROR的函數,不過我沒2010的系統,沒辦法確定用法。如果沒錯的話是用:
=IFERROR(VLOOKUP(E9,合約!$B$3:$D$2470,2,0),"") |
|
|
|
|
|
|
- 帖子
- 28
- 主題
- 4
- 精華
- 0
- 積分
- 35
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- office2010
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2014-3-13
- 最後登錄
- 2014-4-18
|
4#
發表於 2014-3-26 13:43
| 只看該作者
本帖最後由 妤璇 於 2014-3-26 13:45 編輯
我要查詢的儲存格確定都有資料,所以才覺得很奇怪~.~
附件上傳了,麻煩各位前輩幫我看一下,謝謝!!
1、「出貨單」的單位及合約數量是參照「合約」工作表,有的可以讀取,有的出現#N/A。
我自己在猜問題應該是出在「合約」或者「設備設定」裡頭,但完全看不出來是什麼問題。
下拉選單的清單放在「設備設定」裡,是從合約裡整理出來的。
無法讀取的儲存格,我有在「合約」中填滿黃色,但數量太多,無法一一比對,所以只有用一些些。
2、「出貨單」的K欄,是參照「出貨清單」的F欄數量,目的是要統計出貨清單中相同名稱的數量
我用這個公式,會有數量有的沒加到的問題,請問有更好的公式嗎??
=IF(ISERROR(VLOOKUP(E9,出貨清單!$E$3:$H$100000,2,0)),"0",VLOOKUP(E9,出貨清單!$E$3:$H$100000,2,0))+F9 |
|
|
|
|
|
|
- 帖子
- 28
- 主題
- 4
- 精華
- 0
- 積分
- 35
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- office2010
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2014-3-13
- 最後登錄
- 2014-4-18
|
5#
發表於 2014-3-26 15:31
| 只看該作者
問題在「設備設定」裡頭
我將「設備設定」重新整理,直接從合約」中複製過去,問題已解決,有可能是當初整理的小妹操作上有誤,或者有同事動過吧,非常感謝二位百忙之中能幫我
我決定用好的資料上鎖了。
我的第二個問題也讓我很頭痛,第一筆加上第二筆結果是正確的,再加上第三筆就變成減了…
是不是要加上SUM??或者我不該在後面加上+F9 ?? |
|
|
|
|
|
|
- 帖子
- 49
- 主題
- 3
- 精華
- 0
- 積分
- 74
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- XP
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2014-2-13
- 最後登錄
- 2020-9-18
|
6#
發表於 2014-3-26 16:22
| 只看該作者
回復 5# 妤璇
不知道第三筆變減←是何意
不過如果統計的話
可以用下列的公式看看行不行
=IF(ISERROR(SUMIF(出貨清單!E2:E2000,出貨單!E9,出貨清單!F2:F2000)),"0",SUMIF(出貨清單!E2:E2000,出貨單!E9,出貨清單!F2:F2000))+F9 |
|
動念成因積因成果 by huijuang
|
|
|
|
|
- 帖子
- 28
- 主題
- 4
- 精華
- 0
- 積分
- 35
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- office2010
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2014-3-13
- 最後登錄
- 2014-4-18
|
7#
發表於 2014-3-26 16:46
| 只看該作者
使用 =IF(ISERROR(SUMIF(出貨清單!E2:E2000,出貨單!E9,出貨清單!F2:F2000)),"0",SUMIF(出貨清單!E2:E2000,出貨單!E9,出貨清單!F2:F2000))+F9
加總的數量就正確了,謝謝呢!!
我原本想要用=IF(E9="","",SUMIF(出貨清單!$E$3:$E$1048576,E9,出貨清單!$F$3:$F$1048576)+F9),想請問加上ISERROR的差別在哪?? |
|
|
|
|
|
|
- 帖子
- 49
- 主題
- 3
- 精華
- 0
- 積分
- 74
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- XP
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 雲林
- 註冊時間
- 2014-2-13
- 最後登錄
- 2020-9-18
|
8#
發表於 2014-3-27 10:10
| 只看該作者
本帖最後由 huijuang 於 2014-3-27 10:13 編輯
使用sumif應該不用ISERROR
我做的時候是直接拿你之前的公式來改
所以忘了把ISERROR拿掉了
=IF(E9="","",SUMIF(出貨清單!$E$2:$E$2000,出貨單!E9,出貨清單!$F$2:$F$2000)+F9) |
|
動念成因積因成果 by huijuang
|
|
|
|
|
- 帖子
- 2025
- 主題
- 13
- 精華
- 0
- 積分
- 2053
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- Office2007
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 台北市
- 註冊時間
- 2011-3-2
- 最後登錄
- 2024-3-14
     
|
10#
發表於 2014-3-27 13:57
| 只看該作者
回復 1# 妤璇
* ~ 為VLOOKUP、MATCH ..等的特殊符號,造成查詢錯誤
以下函數使用時支援萬用字元,查詢文字中有 ? * ~ 等符號要注意使用
COUNTIF
HLOOKUP
MATCH
SEARCH
SUMIF
VLOOKUP
萬用字元可參考
http://office.microsoft.com/zh-tw/excel-help/HP005203612.aspx
出貨單!E9 = "點光 (3F~35F東南向.西北向陽台上方格柵)"
因字串內有 ~ 字元會造成查詢錯誤
J9
原公式 =IF(E9="","",VLOOKUP(E9,合約!$B:$D,3,))
改為 =IF(E9="","",VLOOKUP(SUBSTITUTE(E9,"~","~~"),合約!$B:$D,3,))
或改為 =IF(E9="","",LOOKUP(,0/(E9=合約!$B:$B),合約!$D:$D))
出貨單!E14 = "EMT導線管 1_1/2" (E51)"
合約!B1070 = "EMT導線管 1-1/2" (E51)"
請將 _ 改為 - 就對了
E15 : "Web 網路通訊伺服主機 573992 Ehternet Gateway TCP.IP_SCS"
問題同上 |
|
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式
|
|
|
|
|