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

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日:夜勤

●質問者: まろ
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:4月1日 A1 book Excel エラー
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

[1]シートの存在チェックをしてから 処理させたら? taknt

http://www.keep-on.com/excelyou/2000lng1/200005/00050096.txt

引用

If FoundSheet("Test") Then

MsgBox "'Test' シートは既に存在します。"

Else

MsgBox "'Test' シートを作成します。"

End If


[2]>1 あ、On Error Resume Nextしてた。 taknt

つまり、エラーだったら 次へとやってるわけですね。

別関数を自分で作り、そこでシートの存在チェックをしているというわけです。


[3]>1 VBAだと出来るんですが、あくまでも関数にこだわってます Mura

早速のお返事ありがとうございます。

関数で行いたいのです。

VBAだといろいろ出来るんですけどねぇ・・・


[4]ナポレオン「いやいや、これは不可能だよ、何言ってんのww」 aside

シート名をセルから指定できる方法がわかればいいっぽ?

A1セルに月が入るとし、取得する従業員番号?が500として

a.xlsのA列が従業員番号、B列が予定だとすると下記の式っぽ?

=VLOOKUP(500,INDIRECT("[a.xls]" & $B$1 & "月1日!A1:B300"),2)

勘違いもしてるかも

あとエラー表示のウィンドは当方環境だとでないなぁ、、

タイトルはダミーです


[5]>4 INDIRECTでもダメなんです・・・・ Mura

そうですね。

通常だとINDIRECT関数でなんとか可能だと思われるのですが

元になる「A」というBookはサーバー上にあり

=Vlookup(500,'http://kyouyuu/[A.xls]4月1日'!A1:B300・・・・)と

なっており、「'」シングルコーテーションで囲まれているんです

INDIRECT関数を利用すると#REFエラーになるんです


[6]>3 ああ そうですね。 taknt

VBAで ワークシートに使える関数を作成するしかないですね。


[7]>6 コンピュータの会社なので・・・ Mura

セキュリティが厳しくて

マクロを動かすといけないんですよねぇ

セキュリティソフトでブロックされてるし

解除出来ないし・・・

なので、関数なんですよねぇ

関連質問


●質問をもっと探す●



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