好的,我在電子表格中有一份客戶退貨清單。每個客戶還具有分配給 (risky
或)的風險類別以及分配給他們 (或)safe
的合作夥伴。P1
P2
這是佈局的範例
A B C D
Client | Return | RiskCat | Partner
_________________________________________
John 1.5% risky P2
Bill 1.8% risky P1
Tim 1.2% safe P2
Bob 1.4% risky P1
Kate 2.1% risky P2
Fred 0.8% safe P1
...etc
我編寫了一個「medianif()
」函數,它計算給定標準(例如風險類別)中的回報中位數,例如,如果我想找到風險類別中的回報中位數,我會這樣做:
=median(if(C:C="risky",B:B,""))
然後按 ctrl-shift-enter 將其作為數組公式輸入到儲存格中。
同樣,要找到以 P1 作為合作夥伴的人的回報中位數,我會這樣做:
=median(if(D:D="P1",B:B,""))
上面的兩個公式都適合我,但我想找到風險類別和 P1 合作夥伴的回報中位數。好吧,我嘗試:
=median(if(and(C:C="risky",D:D="P1"),B:B,""))
不幸的是,這不起作用,我收到 #value 錯誤。是否可以以這種方式使用 AND() ,如果不是,我將如何實現我之後的目標?
答案1
不,您不能以這種方式使用 AND 或 OR,因為這些函數會傳回單一結果而不是陣列。您需要使用 * 而不是 AND...或多個 IF,例如
=MEDIAN(IF((C:C="risky")*(D:D="P1"),B:B))
或者
=MEDIAN(IF(C:C="risky",IF(D:D="P1",B:B)))
後者可能稍微更有效率