Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : その他)
検索する関数
投稿日時: 21/05/21 17:54:22
投稿者: ラングドシャ

お願いします。Excel2019です
  
入力ブック:入力シート
  

	 A	   B   C 
1	№	  予約   色
2	210513-1  未定	
3	210520-1   3	   赤
4	210520-2   10   赤、青

  
VLOOKやINDEX・MATCHのように、A列に№を入れると、下記の予約シートから検索してB列、C列が表示されるようにしたいと思っています。
  
  
データブック:予約シート
検索先のデータブックは以下のような構成になっています。
  
	A	B	C    D	
1	№	連番	予約	色
2	210513	-1	未定	
3	210520	-1	3	赤
4	210520	-2	10	赤、青

  
入力シートの№にあたる値が、2つに分かれています。
このような場合、入力シートののB列C列にはどのように関数を入れればよいでしょうか?
 
データブック:予約シートにに変更を加えることはできません。
よろしくお願いいたします。

回答
投稿日時: 21/05/21 20:07:07
投稿者: んなっと

     A   B    C
1    № 予約   色
2 210513-1 未定    0 ★
3 210520-1   3   赤
4 210520-2  10 赤、青
 
B2
=IFERROR(INDEX(予約!C:C,MATCH($A2,予約!$A$1:$A$100&予約!$B$1:$B$100,0)),"")
右方向・→下方向・↓
 
★の0を空白にしたいときは
 
     A   B    C
1    № 予約   色
2 210513-1 未定    
3 210520-1   3   赤
4 210520-2  10 赤、青
 
B2
=IFERROR(LOOKUP(1,0/($A2=予約!$A$1:$A$100&予約!$B$1:$B$100)/(予約!C$1:C$100<>""),予約!C:C),"")
 
XLOOKUP や FILTER が使える環境ならもっと方法がありそうです。

回答
投稿日時: 21/05/23 08:50:50
投稿者: んなっと

もうひとつ。最初の式のC列限定バージョン。
 
C2
=IFERROR(INDEX(予約!D:D,MATCH($A2,予約!$A$1:$A$100&予約!$B$1:$B$100,0))&"","")
下方向・↓

投稿日時: 21/05/24 10:08:39
投稿者: ラングドシャ

んなっとさん
 
ありがとうございました。どれもできました。
今回、0ではなく空白で表示したいので2つ目の関数を使用させていただきます。
当方のデータの持ち方からすると今後も応用できそうです。
 
本当にありがとうございました。