質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%

Q&A

解決済

2回答

24846閲覧

EXCEL =sheet()で取得できるシート番号をもとに参照することができるかどうか

ken8888

総合スコア17

0グッド

0クリップ

投稿2018/10/01 04:13

EXCELで 常に=sheet()で取得できるシート番号が"2"のシートのA1のセルの値を取得する関数を作成する方法があるかお聞きしたいです。
ユーザー定義関数を使用する方法、マクロを使用する方法、indirect関数でシート名を指定して取得する方法は把握しているのですが、これらを使わずに作成する方法がもしあれば教えていただきたいです。
(調べた限りではありませんでした・・・)

条件としては
1、ユーザー定義関数、VBAを使用しない
2、関数のみで、常に=sheet()で取得できるシート番号"2"のシートのA1のデータを取得する関数
3、シート名、シート数は変動します。

なにか既存の関数の組み合わせで作成する方法を知っていらっしゃいましたら、ご教授願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

名前の定義を利用して、2番目のシートに名前を付けます。
その名前(仮に「2番目のシート」)を利用して、
=INDIRECT(2番目のシート & "!A1")
のようにすれば取得できると思います。

名前の定義での設定は以下を参考にして下さい。
エクセル 2016 シート名を取得する

上記の設定を例にすると、
=INDIRECT(INDEX(book,2) & "!A1")
となります。
※名前の定義で、2番目のシート=INDEX(GET.WORKBOOK(1),2)とした方が、簡潔ですね。

投稿2018/10/01 04:54

編集2018/10/01 05:47
sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ken8888

2018/10/01 06:52

回答ありがとうございました。 やはりどの方法にしてもマクロ(VBA)を使わないとむずかしそうですね・・・
yambejp

2018/10/01 06:56

いえ、違います。マクロは不要です。 名前の定義という機能が必要になるだけです
sazi

2018/10/01 07:26 編集

GET.WORKBOOK はマクロ関数と言って、エクセル関数ともVBA関数とも違います。 使用するためには、マクロ付き(拡張子が.xlsm)の形式でなければならないと言うだけです。 利用者にとっては,.xlsと.xlsxくらいの違いじゃないかと思います。
guest

0

下記サイトを参考にすると番号からシート名の取得は実現できます。
エクセル シート名を取得する
それとINDIRECTを組み合わせれば下記のようになります。

=INDIRECT(SUBSTITUTE(INDEX(book,2),"[" &doc&"]","")&"!A1")

但し、参照範囲でマクロを使用しているのでxlsmで保存する必要があり、質問の要件からは外れてしまうかも知れません。

投稿2018/10/01 05:02

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2018/10/01 05:13

名前の定義にふれないと・・・
ttyp03

2018/10/01 05:15

というと?
yambejp

2018/10/01 05:18

いまの関数をそのまま書いても体をなしていないということ。 「bookやdocを名前の定義した上で」という前提を書かないと ちんぷんかんぷんな回答
ttyp03

2018/10/01 05:20

その説明はリンク先に任せてます。
ken8888

2018/10/01 06:53

回答ありがとうございました。 やはりどの方法にしてもマクロ(VBA)を使わないとむずかしそうですね・・・ 回答の早かったほうをBAとさせていただきました。
ttyp03

2018/10/01 06:59

そうですね。 結局xlsmで保存するのであれば、シート番号からシート名を返却するユーザー関数を作ったほうがわかりやすいかもしれませんね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問