人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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を利用して処理を行いたいです。
どうぞお知恵をお貸しください。



●質問者: hanpaku
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど

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)

2 ● TransFreeBSD

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を使いました。これも横にコピーするだけで伸ばせます。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ