[[20181011155723]] 『二つの表から、複数条件に一致する値を抽出する』(さかね) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『二つの表から、複数条件に一致する値を抽出する』(さかね)

いきなりのご質問失礼します。

下記、エクセルの(分類)抽出ができず困っています、、
ご教授いただけると幸いです。
どうぞよろしくお願いいたします。


日数 離脱 購入  分類
150 150 25000 弐の条件に当てはまる分類を入れたい※この場合はB  
0  210 30000 弐の条件に当てはまる分類を入れたい※この場合はA
159 110 60000 弐の条件に当てはまる分類を入れたい※この場合はC


分類 日数 離脱 購入
A   0  <240
B   >0 <240 25000
C >90<210 <240 >50000

< 使用 Excel:Excel2016、使用 OS:Windows10 >


弐は条件が表になっているということ? 表に対応して判定が変わる? んー、面倒過ぎます。 条件も穴だらけだし、後出しでパターン追加されても困るので、ご自分でIf文を並べて作ってください。

とりあえず、固定の数式例なぞ。 さらっと書いたので、提示以外の条件で誤判定する可能性があります。 「離脱」がすべて同じ条件なので、これくらいで済みますが、全部ばらばらだった場合を考えると、うんざりです。 LOOKUP関数を使うとパターン化できそうですが、日数は複数条件のANDな場合があったりして、面倒…。

 D2: =IF(B2<>"",IF(B2<240,IF(A2=0,"A",IF(AND(A2>90,A2<210,C2>50000),"C",IF(AND(A2>0,C2=25000),"B","")))),"")
(???) 2018/10/11(木) 17:14

弐は条件が表になっているということ? 表に対応して判定が変わる? んー、面倒過ぎます。 条件も穴だらけだし、後出しでパターン追加されても困るので、ご自分でIf文を並べて作ってください。

→おっしゃられる通り、条件が表になります。
閾値も後々変更の可能性ありなので、表にしております。

条件表に対応して、分類を引き抜いてきたいのですが
何かヒントをいただけないでしょうか?
IF文以外で考えています。
(さかね) 2018/10/11(木) 17:45


条件表は、数式に合った数で用意すべきでしょうね。 例えば、「>90<210」という条件から数式化しようとすると、条件が1つの場合と2つの場合の考慮の他に、文字列解析して下限値と上限値を取り出さないといけない事になります。また、「>=」のようにイコールを含んだ式もOK、とかになると、更に解析の分岐が増えてしまい、手に負えなくなる事でしょう。

なので、LOOKUPを使うと、例えば「=LOOKUP(A1,{0,100,200,300,400},{"A","B","C","D","E"})」という式にすれば、値の範囲に応じた変換ができるようになりますし、「=LOOKUP(A1,C1:G1,C2:G2)」のように、1行目に値、2行目に判定結果を書くこともできます。 この書き方ならば、表の値に応じて判定を切り替えられるようになるので、これを前提とした条件表に改める事を考えてみてください。

(???) 2018/10/11(木) 17:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.