題目裡xy又是尺寸又是支撐容易混淆概念,我可以理解為有x、y兩個尺寸作為約束條件。約束條件一:x根據條件區域決定“大”、“小”兩個支撐的數量,根據條件區域查詢結果我們使用LOOKUP函式。先把目標區域設定好:結果區域是我們想要的結果:H2裡可以這麼寫:=LOOKUP(F2,$A$2:$B$5),這是把條件區域當作陣列來進行查詢。I2裡可以把區域擴充套件到$C$5,也可以這麼寫=LOOKUP(F2,$A$2:$A$5,$C$2:$C$5),這是把條件區域當作向量來進行查詢。約束條件二:y根據條件修改“大”、“小”支撐的數量。我如果把600~800理解為大-1、小+2,把>800理解為大+1、小不變,條件區域就可以這麼設定:注意:這裡條件區域最小要從0開始,雖然沒有用到。然後我們把H2和I2的公式加上查詢y的部分。H2=LOOKUP(F2,$A$2:$B$5)+LOOKUP(G2,$A$8:$B$10)I2=LOOKUP(F2,$A$2:$A$5,$C$2:$C$5)+LOOKUP(G2,$A$8:$A$10,$C$8:$C$10)這樣,結果區域就變成了:表的全貌是這樣:最後,這裡其實存在一個問題。600的查詢結果與題主描述不符。LOOKUP函式之所以能做區間查詢,其原理是:在條件區域查到不到時,會返回小於等於要查詢值的最大值。如果能查詢到,就返回它本身所對應的值。也就是說,條件區域的區間是半開半閉區間,而且是前閉後開。0到600間的數字,指的是0≤x<600的數字。按題主要求,應該是小於等於600,所以這裡存在一點小問題。解決方案也很簡單,如果是整數的話,把題目中的600改成601即可,如果包含小數,比如2位小數,就改成600.01如圖,這樣才是正解。當然,如果熟練使用陣列,輔助區域也就不需要了。以上。
題目裡xy又是尺寸又是支撐容易混淆概念,我可以理解為有x、y兩個尺寸作為約束條件。約束條件一:x根據條件區域決定“大”、“小”兩個支撐的數量,根據條件區域查詢結果我們使用LOOKUP函式。先把目標區域設定好:結果區域是我們想要的結果:H2裡可以這麼寫:=LOOKUP(F2,$A$2:$B$5),這是把條件區域當作陣列來進行查詢。I2裡可以把區域擴充套件到$C$5,也可以這麼寫=LOOKUP(F2,$A$2:$A$5,$C$2:$C$5),這是把條件區域當作向量來進行查詢。約束條件二:y根據條件修改“大”、“小”支撐的數量。我如果把600~800理解為大-1、小+2,把>800理解為大+1、小不變,條件區域就可以這麼設定:注意:這裡條件區域最小要從0開始,雖然沒有用到。然後我們把H2和I2的公式加上查詢y的部分。H2=LOOKUP(F2,$A$2:$B$5)+LOOKUP(G2,$A$8:$B$10)I2=LOOKUP(F2,$A$2:$A$5,$C$2:$C$5)+LOOKUP(G2,$A$8:$A$10,$C$8:$C$10)這樣,結果區域就變成了:表的全貌是這樣:最後,這裡其實存在一個問題。600的查詢結果與題主描述不符。LOOKUP函式之所以能做區間查詢,其原理是:在條件區域查到不到時,會返回小於等於要查詢值的最大值。如果能查詢到,就返回它本身所對應的值。也就是說,條件區域的區間是半開半閉區間,而且是前閉後開。0到600間的數字,指的是0≤x<600的數字。按題主要求,應該是小於等於600,所以這裡存在一點小問題。解決方案也很簡單,如果是整數的話,把題目中的600改成601即可,如果包含小數,比如2位小數,就改成600.01如圖,這樣才是正解。當然,如果熟練使用陣列,輔助區域也就不需要了。以上。