[[20081111102125]] 『VLOOKUPの変形?』(kanon) >>BOT

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

 

『VLOOKUPの変形?』(kanon)

 いつもお世話になっております。
 したの図のようにsheet1に住所録があり、sheet2でA〜Fの1行目に
 数字や記号を入れていくと、sheet1のG列の氏名とH列の住所が
 Sheet2のG列に入るようにしたいのです。
 各列の重複はありますが、A〜Fまですべて一致するという重複はありません。
 Sheet2のG列に入る式をマクロ以外で教えてください。

 sheet1								
 	(A)	(B)	(C)	(D)	(E)	(F)	(G)	(H)
 1	@	A	B	C	D	E	氏名	住所
 2	1	A	0	0	0	1	田中	XXXXXXX
 3	1	A	0	0	0	2	馬場	XXXXXXX
 4	1	A	0	0	0	3	和田	XXXXXXX
 5	1	B	0	0	0	1	木村	XXXXXXX
 6	1	B	0	0	0	2	鈴木	XXXXXXX
 7	1	B	0	0	0	3	:	:

 sheet2								
	(A)	(B)	(C)	(D)	(E)	(F)	(G)	         (H)
 1	1	A	0	0	0	1	田中XXXXXXX	
 2								
 3

 こんなに長くなってしまいました。
 ご希望どおりVLOOKUPでの処理です。
 (ROUGE)

 =IF(ISNA(VLOOKUP(A1&"_"&B1&"_"&C1&"_"&D1&"_"&E1&"_"&F1,CHOOSE({1,2},
  INDEX(Sheet1!$A$1:$A$10&"_"&Sheet1!$B$1:$B$10&"_"&Sheet1!$C$1:$C$10&"_"&Sheet1!$D$1:$D$10&
  "_"&Sheet1!$E$1:$E$10&"_"&Sheet1!$F$1:$F$10,),INDEX(Sheet1!$G$1:$G$10&Sheet1!$H$1:$H$10,)),2,0))
  ,"",VLOOKUP(A1&"_"&B1&"_"&C1&"_"&D1&"_"&E1&"_"&F1,CHOOSE({1,2},INDEX(Sheet1!$A$1:$A$10&"_"
  &Sheet1!$B$1:$B$10&"_"&Sheet1!$C$1:$C$10&"_"&Sheet1!$D$1:$D$10&"_"&Sheet1!$E$1:$E$10&"_"
  &Sheet1!$F$1:$F$10,),INDEX(Sheet1!$G$1:$G$10&Sheet1!$H$1:$H$10,)),2,0))


 INDEX関数でもこんなになりますた。_/ ̄|○ il||li
=INDEX(Sheet1!$G$2:$H$7,MATCH(CONCATENATE(A1,B1,C1,D1,E1,F1),
CONCATENATE(Sheet1!$A$2:$A$7,Sheet1!$B$2:$B$7,Sheet1!$C$2:$C$7,Sheet1!$D$2:$D$7,Sheet1!$E$2:$E$7,Sheet1!$F$2:$F$7),0),1)
&INDEX(Sheet1!$G$2:$H$7,MATCH(CONCATENATE(A1,B1,C1,D1,E1,F1),
CONCATENATE(Sheet1!$A$2:$A$7,Sheet1!$B$2:$B$7,Sheet1!$C$2:$C$7,Sheet1!$D$2:$D$7,Sheet1!$E$2:$E$7,Sheet1!$F$2:$F$7),0),2)

 Shift+Ctrlキー押しながらEnterキーで確定させて配列数式にしてください。

 作業列を使ったほうが良いと思います。

 (川野鮎太郎)

 大文字小文字も認識するように改良しました。(ROUGE)

 =IF(ISNA(MATCH(63,INDEX(EXACT(Sheet1!$A1:$A10,A1)*2^5+EXACT(Sheet1!$B$1:$B$10,B1)*2^4
  +EXACT(Sheet1!$C$1:$C$10,C1)*2^3+EXACT(Sheet1!$D$1:$D$10,D1)*2^2+EXACT(Sheet1!$E$1:$E$10,E1)*2
  +EXACT(Sheet1!$F$1:$F$10,F1),),0)),"",VLOOKUP(63,CHOOSE({1,2},INDEX(EXACT(Sheet1!$A1:$A10,A1)*2^5
  +EXACT(Sheet1!$B$1:$B$10,B1)*2^4+EXACT(Sheet1!$C$1:$C$10,C1)*2^3+EXACT(Sheet1!$D$1:$D$10,D1)*2^2
  +EXACT(Sheet1!$E$1:$E$10,E1)*2+EXACT(Sheet1!$F$1:$F$10,F1),),INDEX(Sheet1!$G$1:$G$10&Sheet1!$H$1:$H$10,)),2,0))

 ありがとうございます。さっそく試してみます(kanon)

 できました、ありがとうございます。CHOOSEの{1,2}の意味を教えてください(kanon)

 特殊な使い方なので、参考過去ログを参照してください。
 
[[20070427203222]]『不思議なVLOOKUP』(代奈)
 
{}で括ると、配列の扱いになることを申し添えておきます。
(ROUGE)

 ありがとうございました。なんとなくわかりました。
 とっても助かりました。ありがとうございました。(kanon)

コメント返信:

[ 一覧(最新更新順) ]


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