簡體   English   中英

多個條件和多個列的Excel查找值

[英]Excel lookup value for multiple criteria and multiple columns

我正在幫助一個朋友在Excel中進行一些數據分析。 我們的數據如下所示:

Car producer | Classification | Prices from 9 different vendors in 9 columns
AUDI | C | 100 200 300 400 500 600 700 800 900
AUDI | C | 100 900 800 200 700 300 600 400 500
AUDI | B | .. ..

現在,對於每個分類和每個生產商,我們生成了一個列表,該列表顯示了9個供應商中哪個提供了最低的價格(按數量計算,例如,C類中有2輛來自AUDI的汽車,因此供應商A會同時提供最低的價格)。

我們需要什么:一種計算該供應商平均價格的方法。 因此,如果我們看到賣主A在C類中的AUDI汽車的價格最低,那么我們想知道賣主A在這些汽車中的平均價格。

我很沮喪,因為我無法使用“標准”的“小索引匹配”方法,因為價格存儲在9個不同的列中。

我建議使用一個長的if鏈,例如:= if(vendor = A,averageif(輸入條件並選擇供應商A的列作為平均值),if(vendor = B,average(輸入條件並輸入選擇供應商B的列作為平均值),等等。

但是,這種方法顯然受到限制,無法很好地擴展到更高的尺寸。

我們還希望避免使用任何插件。

您將需要創建一個單獨的表,該表在行中具有所有唯一的分類,在列中具有所有經銷商(與您的相同,但刪除了重復的行)。 然后,在每個單元格中,獲取該分類*供應商組合的平均價格。 這可以通過使用sumif / countif的組合來完成。 例如,如果您的第二張表在單元格M2:M [end]中有一列用於分類的列,則計算供應商1提供的Audi C類的平均價格可能是:

=sumif(C$2:C$[end],"="&$M2,$B$2:$B$[end])/countif($B$2:$B$[end],"="&$M2)

看起來像這樣: 使用sumif / countif匯總表數據

然后,您可以通過匹配最低價格,找到最便宜的供應商。 例如,在我的示例圖像中,audi C類的最便宜供應商將是:

=index($N$1:$V$1,match(min($N2:$V2),$N2:$V2,0))

使用數據透視表可以完成很多工作。 如果這是一次性的事情,那么我會走那條路線,如果需要將其自動化,然后嘗試使用多條件VLOOKUP(需要以矩陣公式形式輸入:CTRL + ALT + SHIFT)。 這只是一個示例,並不基於您的數據:

{=VLOOKUP(A11&B11,CHOOSE({1\2},A2:A7&B2:B7,C2:C7),2,0)}

chandoos網站上提供了更好的解釋: http ://chandoo.org/wp/2014/10/28/multi-condition-vlookup/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM