考慮到已滿足兩個條件(日期),我想搜索數據的存在(例如1430)。如果這個數字不存在,我想返回最大值,這兩個標準的值小於我的目標值。Excel匹配匹配類型= 1的多個條件具有大數據集的中斷
我使用下面的方法: http://support.microsoft.com/kb/59482
此外,我通過Excel的幫助系統扶着相匹配的幫助文件,概述MATCH_TYPE:
1 or omitted: MATCH finds the largest value that is less than or equal to lookup_value. The values in the lookup_array argument must be placed in ascending order, for example: ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE.
因此,我已經整理我的數據,使得兩個日期序列從最舊到最新排序,並且目標值排序從最小到最大。
此:
{=INDEX(data!$C$2:$C$21, MATCH(a2&b2&c2,data!$A$2:$A$21&data!$B$2:$B$21&data!$C$2:$C$21,1))}
(其中A2 = 01年2月16日,B2 = 01年3月17日,和c2 = 1430)
工作在我小的測試集精緻,返回1425 ,如預期:
Trade Maturity Strike
15-Feb-01 17-Mar-01 600.00
15-Feb-01 17-Mar-01 625.00
15-Feb-01 17-Mar-01 650.00
16-Feb-01 16-Mar-01 1300.00
16-Feb-01 16-Mar-01 1325.00
16-Feb-01 16-Mar-01 1375.00
16-Feb-01 17-Mar-01 1400.00
16-Feb-01 17-Mar-01 1410.00
16-Feb-01 17-Mar-01 1425.00
16-Feb-01 17-Mar-01 1450.00
16-Feb-01 17-Mar-01 1475.00
16-Feb-01 17-Mar-01 1500.00
16-Feb-01 18-Mar-01 600.00
16-Feb-01 18-Mar-01 625.00
16-Feb-01 18-Mar-01 650.00
16-Feb-01 18-Mar-01 675.00
13-Mar-01 21-Apr-01 600.00
13-Mar-01 21-Apr-01 625.00
13-Mar-01 21-Apr-01 650.00
13-Mar-01 21-Apr-01 675.00
但我的實際測試集超過82,000行數據失敗。具體而言,當我在完整數據集上運行搜索時,它會返回目標交易日期之前的最後一個日期的最大值(例如650)。
我已經搜索了幾個小時,讓它在我的腦海中醃幾天,但似乎無法破解這個問題。有任何想法嗎?
當您連接3個數字一起(日期編號)‘600’比‘1500’時,這就是爲什麼它失敗,看到我的解決方案... – CRondao