ofsetを利用して、他シートの指定した行を参照したい。



sheet1
A B C D E 
1 1/2
2 100 110 120 130
3


sheet2
  A B C D E 
1 1/1 10 11 12 13
2 1/2 100 110 120 130
3 1/3 100 200 400 500

sheet1のセルA1に日付を入れて該当するsheet2の日付の行、上記の例であれば、2行目のB2:E2をsheet1のA2:D2に表示させるにはどのようの関数を使えばよいでしょうか。

A1に1/1を入力すれば、A2:D2に10 11 12 13 が表示される
A1に1/3を入力すれば、A2:D2に100 200 400 500が表示される

これらをofsetを利用して処理を行いたいです。
どうぞお知恵をお貸しください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/01/30 22:12:41
  • 終了:2012/02/06 22:15:08

回答(2件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/01/30 22:52:38

sheet2の行がどんどん増えていっても、
下記のような書き方をしておけば追従してくれます

 ABCD
11/2   
2=VLOOKUP(A1,Sheet2!A:B,2,1)=VLOOKUP(A1,Sheet2!A:C,3,1)=VLOOKUP(A1,Sheet2!A:D,4,1)=VLOOKUP(A1,Sheet2!A:E,5,1)

OFFSETを使わなければならないなら下記のような具合

 AB
11/2 
2=VLOOKUP(A1,OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),2),2,1)=VLOOKUP(A1,OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),3),3,1)

(画面からはみ出したので2つに分けました)

 CD
1  
2=VLOOKUP(A1,OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),4),4,1)=VLOOKUP(A1,OFFSET(Sheet2!A1,0,0,COUNTA(Sheet2!A:A),5),5,1)
id:TransFreeBSD No.2

TransFreeBSD回答回数651ベストアンサー獲得回数2622012/01/31 12:35:55

windofjulyさんのoffsetの使い方に感心したので、改良版と別手法を。
横長になるので削ってます。

1/21
=VLOOKUP($A1,Sheet2!$A:B,COLUMN(A2)+1,1)=VLOOKUP($A1,Sheet2!$A:C,COLUMN(B2)+1,1)2
AB

絶対参照とカラム位置を使って横にコピーするだけでOKなようにしました。

1/21
=OFFSET(Sheet2!$A$1,MATCH($A1,Sheet2!$A:$A,0)-1,COLUMN(A2),1)=OFFSET(Sheet2!$A$1,MATCH($A1,Sheet2!$A:$A,0)-1,COLUMN(B2),1)2
AB

offsetとmatchを使いました。これも横にコピーするだけで伸ばせます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません