EXCELの関数について教えてください。

前提として、
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日:夜勤

回答の条件
  • 1人5回まで
  • 150 ptで終了
  • 登録:2007/04/12 10:15:00
  • 終了:2007/04/19 10:15:02

回答(7件)

ただいまのポイント : ポイント8 pt / 150 pt ツリー表示 | 新着順
シートの存在チェックをしてから 処理させたら? きゃづみぃ2007/04/12 10:30:52ポイント3pt
http://www.keep-on.com/excelyou/2000lng1/200005/00050096.txt 引用 If FoundSheet("Test") Then MsgBox "'Test' シートは既に存在します。" Else MsgBox "'Test' シートを作成します。" End If
VBAだと出来るんですが、あくまでも関数にこだわってます まろ2007/04/12 15:41:49
早速のお返事ありがとうございます。 関数で行いたいのです。 VBAだといろいろ出来るんですけどねぇ・・・
ああ そうですね。 きゃづみぃ2007/04/14 09:25:11ポイント2pt
VBAで ワークシートに使える関数を作成するしかないですね。
コンピュータの会社なので・・・ まろ2007/04/14 12:14:08
セキュリティが厳しくて マクロを動かすといけないんですよねぇ セキュリティソフトでブロックされてるし 解除出来ないし・・・ なので、関数なんですよねぇ
あ、On Error Resume Nextしてた。 きゃづみぃ2007/04/12 10:32:41ポイント1pt
つまり、エラーだったら 次へとやってるわけですね。 別関数を自分で作り、そこでシートの存在チェックをしているというわけです。
ナポレオン「いやいや、これは不可能だよ、何言ってんのww」 aside2007/04/12 16:26:28ポイント2pt
シート名をセルから指定できる方法がわかればいいっぽ? A1セルに月が入るとし、取得する従業員番号?が500として a.xlsのA列が従業員番号、B列が予定だとすると下記の式っぽ? =VLOOKUP(500,INDIRECT("[a.xls]" & $B$1 & "月1日!A1:B300 ...
INDIRECTでもダメなんです・・・・ まろ2007/04/13 20:39:47
そうですね。 通常だとINDIRECT関数でなんとか可能だと思われるのですが 元になる「A」というBookはサーバー上にあり =Vlookup(500,'http://kyouyuu/[A.xls]4月1日'!A1:B300・・・・)と なっており、「'」シングルコーテーションで囲ま ...

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

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

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

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

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