[[20090121151319]] 『データが一致するもの』(好慧) ページの最後に飛ぶ

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

 

『データが一致するもの』(好慧)

計算式を教えて下さい。

     A    B    C    D    
 1  A-1       A-2  500
 2  B-6       A-7  400
 3  A-4       B-3  300
 4  A-2       A-1  200
 5  D-5 

 上記の様に
 1)A列に品番がランダムに並んでいます。
 2)C列にも品番がランダムに並んでいます。
 3)D列にはC列の品番に対する値段が並んでいます。

 そこで、B列に
 4) A列の品番を元にC列で同じ品番を検索して
 5) D列にある金額を表示させたい。
 6) C列に該当する品番がない場合は"該当なし"と表示したい。

 B列の各セルにどのような計算式を入れたら良いでしょうか?

 結果
      A    B           C    D    
 1  A-1    200      A-2  500
 2  B-6    該当なし   A-7  400
 3  A-4    該当なし   B-3  300
 4  A-2    500        A-1  200
 5  D-5    該当なし

 以上よろしくお願いします。


 B1=IF(COUNTIF(C$1:C$10,A1),INDEX(D$1:D$10,MATCH(A1,$C$1:$C$10,0)),"該当なし")
 フィルダウンでいかがでしょう。。。(gon-2)

 >gon-2さん
 ありがとうございました。できました。

 もう一つ追加で教えて頂けますでしょうか?

 もし
 1)C列に同じ品番が複数個あって
 2)D列にある価格が違う場合

 1  A-1    [180]      A-2  500
 2  B-6    該当なし     A-7  400
 3  A-4    該当なし     B-3  300
 4  A-2    500          A-1  [200]
 5  D-5    該当なし     A-1  [180]

 最も低い数字をB列に表示したい場合はどのようにすれば良いでしょうか?
 「おんぶにだっこ」で申し訳ないんですが、よろしくお願いします。

 (好慧)


 重複が最大で5個とすれば、E列からI列までを作業列とします。

    A       B        C       D      E     F     G     H    I    
1  A-1	  180	  A-2	500    300   200   180
2  B-6	該当なし	  A-7	400			
3  A-4	該当なし	  A-1	300			
4  A-2	  500	  A-1	200    500		
5  D-5	該当なし	  A-1	180

 E1=IF(COUNTIF($C$1:$C$10,$A1)<COLUMN(A1),"",
    INDEX($D$1:$D$10,INDEX(SMALL(($C$1:$C$10<>$A1)*10^5+ROW($1:$10),COLUMN(A1)),)))
 E1をI1までフィルコピーします。 E1:I1を選択しておいて必要分フィルダウン

 B1=IF(COUNTIF(C$1:C$10,A1),MIN(E1:I1),"該当なし")
 フィルダウン			

 ※簡潔にするのであればC:D列を必要分選択しておいて
  最優先キーをD列にして照準並べ替えをすれば、前レスの式で可能と思います。 

 ありがとうございました。
 そうですね。昇順で並び替えて最初にヒットした価格を表示すれば良かったんですね。
 本当にありがとうございました。
 (好慧)

コメント返信:

[ 一覧(最新更新順) ]


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