[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VLOOKUPで検査値が複数の場合』(まゆら)
VLOOKUPで検査値が複数の場合、A列にはNo1〜100 B列には個人名
NO 個人名 1 ○山 ○夫 1 ○山 ○夫 2 ○の ○子 3 ○の ○子 3 ○下 ○也 ○下 ○也 4 5
例えばC2に [1]と入力、C3に[3]と入力すれば No1からNo3までの... D2 に ○山 ○夫 D3 に ○の ○子 D4 に ○下 ○也
例えばC2だけに [2]と入力すれば D2 に ○の ○子
このようなことが可能でしょうか?出来ましたら教えていただけますでしょうか? よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
A列 1行目から 1,2,3,・・・・ という連番という、めちゃくちゃ限定版ですが。
D1 : =IF(C$2-C$1+1>=ROW(),INDEX(B:B,$C$1+ROW()-1),"")
これを下にフィルコピー。
A列が、必ずしも 1 から始まっていないとか、連番ではなくとびとびに番号が振られている ということなら 上級者さんの回答をお待ちください。
あっ!!
C2 にだけ入力する場合もあるということを無視していました。
(β) 2016/12/31(土) 12:33
A列・B列は、1行目が見出し、2行目からデータだとして
本当にA列が「1〜100」の連番なら
■VLOOKUP編
D2 =IF($C$2="","",IF($C$2+ROW(A1)-1>MAX($C$2:$C$3),"",VLOOKUP($C$2+ROW(A1)-1,$A$2:$B$101,2,FALSE)))
■INDEX編
D2 =IF($C$2="","",IF($C$2+ROW(A1)-1>MAX($C$2:$C$3),"",INDEX($B$2:$B$101,$C$2+ROW(A1)-1)))
下コピー
どんな配置であっても ROW(A1) はそのままにしておくこと。 (笑) 2016/12/31(土) 12:47
とりあえず 私がアップした式に C2 のみ入力ありうるという条件を入れておきます。
=IF(MAX(C$2-C$1+1,1)>=ROW(),INDEX(B:B,$C$1+ROW()-1),"")
(β) 2016/12/31(土) 12:51
実際には個人名以外にも取り出したいデータが別の列にもありますが、お二人の数式で
いろいろさわってみて見事に!取り出せました。
これで年明け楽しくなりそうです。
(まゆら) 2016/12/31(土) 14:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.