前提として、
AというBookがあり「○月○日」シート名のものが1ヶ月分あります。
各シートには1日ごとの社員のスケジュールが表になっているわけなんですが、自分の1ヶ月のスケジュールだけを抽出しようと考えています。
本題
BというBookを作成しVlookup関数を利用し、抽出はうまくいきました。
更に改良を考え、先頭のセルに「月」を入力したらその月の分だけ表示するように考えましたが、どうしてもうまく動作しません
しかも、Aというbookは1ヶ月分毎月更新なので、存在しない日のシート名がBというBookの関数にあるとエラーになってしまいます
エラーの場合は何もしないという処理をしても、エラー表示のウィンドが表示され、どのシートを参照するか聞いてきます。
関数では無理なのでしょうか?
例)BというBOOKでやりたいこと
月:4 ・・・・ここを1~12の数字で変更したい
↓ここを月のセルの参照
1日:朝勤vlookup('[a]4月1日'!A1:A300,・・)
2日:朝勤
3日:休日
4日:昼勤
:
:
30日:夜勤
そうですね。
通常だとINDIRECT関数でなんとか可能だと思われるのですが
元になる「A」というBookはサーバー上にあり
=Vlookup(500,'http://kyouyuu/[A.xls]4月1日'!A1:B300・・・・)と
なっており、「'」シングルコーテーションで囲まれているんです
INDIRECT関数を利用すると#REFエラーになるんです
シート名をセルから指定できる方法がわかればいいっぽ?
A1セルに月が入るとし、取得する従業員番号?が500として
a.xlsのA列が従業員番号、B列が予定だとすると下記の式っぽ?
=VLOOKUP(500,INDIRECT("[a.xls]" & $B$1 & "月1日!A1:B300"),2)
勘違いもしてるかも
あとエラー表示のウィンドは当方環境だとでないなぁ、、
タイトルはダミーです