EXCEL関数/別シートのセル番地をセルの値で指定
お世話になります。
どうしてもわかりません…
エクセル名人の皆様、どうかお知恵をお貸しくださいませ。
Sheet1に下記のようなデータが約5000件あります。
A B C D … BP …
1 No. ID. 品目 月日…状況 …
2 1 a33 A 3/4 0
3 2 a87 B 5/11 1
このうち、BP列が1のもの約900件のみがSheet2に抽出されています。
(このためのマクロについて前回質問させていただきました)
Sheet2:
A B C D E F G …
1 No. ID 品目 月日
2 2 a87 B 5/11
3 7 b3 K 2/5
4 18 c44 F 12/1
5 11 r93 J 7/28
ちなみにA列のNo.は1,2,3,…と続く通し番号で、だぶりはありません。
Sheet1のデータの項目数は大変多いのですが、Sheet2にはその項目すべては必要でないため、
Sheet2には上記のとおりAからD列までの必須情報のみ抽出し、
E列以降の情報については、必要な列の情報のみ、
A列の通しNo.で紐づけしてVLOOKUP関数で取得したいと考えています。
しかし、Sheet1の表には空欄があり、これを空欄のまま表示させるために
IF関数を使いたいのですが、
Sheet1の参照元のセルの番地をどう書けばいいでしょうか?
とてもわかりにくくて申し訳ありません…
たとえば、Sheet2のA列が18であれば(上記Sheet2のA4)、
元データはSheet1の19行目にあることになります。
A列の数値+1、が行番号ということです。
そのK列を参照する場合、
=IF(Sheet1!K19="","",VLOOKUP(A4,Sheet1!A:K,COLUMN(K4),FALSE)
となるかと思うのですが、
このSheet1!K19 というセル番地を、自分で計算して手入力するというのはとても大変なので、
関数などで表現する方法はないでしょうか。
たとえば、Sheet1!K(A4+1) とか書いてみましたが、もちろんこれでよいわけもなく…
不勉強で恐縮ですが、どうしてもわかりません。
どうかご教授ください。
よろしくおねがいいたします。
お礼
了解しました。 ありがとうございました。