スプレッドシートにクライアントのリターンのリストがあります。各クライアントには、リスク カテゴリ (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)))
後者はおそらくわずかに効率的である