プロが教える店舗&オフィスのセキュリティ対策術

エクセルについて質問です。
A列は数字が入力されていて、B列はある数字があります。C列にB列と同じような数字を入力していきます。入力したC列の数字が、B列の中にあれば、入力した行にA列の数字をD列に返すことは出来ますか?下記に例を記載します。

A     B     C       D
0  20110210  2010811      
1  20110214  20101025  
2  20110215  2011111    7
3  20110216  2011322 
4  20110217  2011516  
6  20110221  2011325  
7  2011111    20101220  
8  20050223  2011128  


宜しくお願いします。

A 回答 (3件)

D1:


=IF(OR(C1="",COUNTIF(B:B,C1)=0),"",INDEX(A:A,MATCH(C1,B:B,0)))
などで。
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
またお願いします。

お礼日時:2011/04/21 14:19

C列に入力した数字が何処の行にあるかはMATCH関数で判る。


そしてその行のA列をINDEX関数で取ればよい。
問題は見つからないときの処理で式が長くなるが。
例データ A-D列
xyzu
111343
334
221
D2に
=INDEX($A$1:$A$10,MATCH(C2,$B$1:$B$10,0))
B列に該当無いという手当ては、CountIFで0かどうかが良いでしょう。
=IF(COUNTIF($B$2:$B$10,C2)=0,"",INDEX($A$1:$A$10,MATCH(C2,$B$1:$B$10,0)))
もしも空白入力したら、上記でカバーできる。
ーー
Match関数のエラー判定ISERRORも使える。
またMATCH関数の代わりにVLOOKUPも考えられるが、取ってくるA列が、検索するB列より左列にあるため使えない。
    • good
    • 0
この回答へのお礼

ありがとうございました。
他の問題があって困惑気味でしたが、なんとか
理想の形になりました。
また宜しくお願いします。

お礼日時:2011/04/21 14:29

A,B列が逆ならばVLOOKUP関数ですが、以外はINDEX関数かOFFSET関数での使用になります。


先にINDEX関数例が回答されていましたのでOFFSET関数例です。
=IF(COUNTIF(B:B,C1),OFFSET($A$1,MATCH(C1,B:B,0)-1,),"")
    • good
    • 0
この回答へのお礼

御回答ありがとうございました。
また宜しくお願いします。

お礼日時:2011/04/21 14:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!