標題:
[發問]
多重條條件查詢
[打印本頁]
作者:
aer
時間:
2013-11-28 20:28
標題:
多重條條件查詢
請教各位前輩們
需求:於D6、E6、F6,分別輸入年度、貨別、貨號後,可自動在H6 ~ K6顯示所對應的貨架位置的公式要如何寫?
[attach]16895[/attach]
[attach]16896[/attach]
作者:
ML089
時間:
2013-11-28 21:26
回復
1#
aer
你不是已經寫好了嗎?
作者:
aer
時間:
2013-11-29 08:17
回復 aer
你不是已經寫好了嗎?
ML089 發表於 2013-11-28 21:26
是有寫了,可是只有97年度可以查詢,如改變其他條件時,不會改變查詢結果。煩請幫忙,感謝!
作者:
ML089
時間:
2013-11-29 09:27
H6 =LOOKUP(,0/(($D6=號碼資料庫!$A$2:$A$1999)*($E6=號碼資料庫!$B$2:$B$1999)*($F6>=號碼資料庫!$C$2:$C$1999)*($F6<=號碼資料庫!$D$2:$D$1999)),號碼資料庫!E$2:E$1999)
右拉
複製代碼
作者:
aer
時間:
2013-11-29 11:04
回復
4#
ML089
ML089 謝謝您!測試沒問題。再請教您 lookup 公式中的 lookup value 不填任何值是代表什麼意思呢?
作者:
ML089
時間:
2013-11-29 12:03
回復
5#
aer
>> 再請教您 lookup 公式中的 lookup value 不填任何值是代表什麼意思呢?
lookup value 不填任何值是代表 0
第二項參數內的公式經比對後為 0 或 錯誤值,lookup value 用0可以找到其中一項,若用1可以找到最後一項。一般情況只有一個 0 所以習慣不下參數。
作者:
c_c_lai
時間:
2013-11-30 08:11
回復
6#
ML089
這回可要稱呼你老師了。
H6 =LOOKUP(,0/(($D6=號碼資料庫!$A$2:$A$1999)*($E6=號碼資料庫!$B$2:$B$1999)*($F6>=號碼資料庫!$C$2:$C$1999)*($F6<=號碼資料庫!$D$2:$D$1999)),號碼資料庫!E$2:E$1999)
右拉
複製代碼
請老師指導,$D6=號碼資料庫!$A$2:$A$1999)*($E6=號碼資料庫!$B$2:$B$1999)
為何彼此要用乘 (*) 來串連,然後又用零 (0) 來被除?
LOOKUP(, 0 內的 ",0" 這又是指的甚麼? Help 中甚麼也查不到,蠻好奇的。
P.S. 不好意思,碰到公式我真的不行 (道行太淺了)。^0^
作者:
ML089
時間:
2013-11-30 10:01
回復
7#
c_c_lai
>> $D6=號碼資料庫!$A$2:$A$1999)*($E6=號碼資料庫!$B$2:$B$1999)
>> 為何彼此要用乘 (*) 來串連,然後又用零 (0) 來被除?
>> LOOKUP(, 0 內的 ",0" 這又是指的甚麼?
c_c_lai大 太客氣了,大家相互學習互通有無
H6 =LOOKUP(,0/
(($D6=號碼資料庫!$A$2:$A$1999)*($E6=號碼資料庫!$B$2:$B$1999)*($F6>=號碼資料庫!$C$2:$C$1999)*($F6<=號碼資料庫!$D$2:$D$1999))
,號碼資料庫!E$2:E$1999)
上式中紅色字為判斷式,整個式子構架如下
H6 =LOOKUP(,0/(判斷式陣列),號碼資料庫!E$2:E$1999)
H6 =LOOKUP(,0/(0;1;0;1;0;...;0),號碼資料庫!E$2:E$1999)
0/{0;1}得情況如下 0/1 =0 ; 0/0 = #DIV/0!,上式如下
H6 =LOOKUP(,0/(#DIV/0!;0;#DIV/0!;0;#DIV/0!;...;#DIV/0!),號碼資料庫!E$2:E$1999)
整個 lookup_vector 就會變成只有 0 與 錯誤值#DIV/0!所組成的陣列。
利用LOOKUP的函數特性 - 錯誤值 會忽略,所以查詢值用 >= 0 的數值都可以
如果找唯一值,lookup_vector 內只有一個 0 值,所以lookup_value用0就可以,0為內定值就不用輸入
如果不是唯一值,可以用 1( >0的任一值都可以)找最後一值,用 0 會找到第一組0的最後一個。
作者:
c_c_lai
時間:
2013-11-30 11:06
回復
8#
ML089
謝謝你詳盡地解說,感覺上比使用 VBA 還抽象,
這可能是我從未使用過 LookUp 的原因吧!
作者:
adam2010
時間:
2013-12-25 21:31
路過撿到寶~請教一下ML089大大
這函數的意思是不是利用陣列的四個條件當作搜尋條件,
用"0/"來確保4個條件均成立,來找到貨架位置
而您提到如果不是唯一值,可以用 1,請問是指
LOOKUP(
1
,0/~,還是LOOKUP(,
1
/~
悟性不足,請多指教,謝謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)