[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シート名をセル入力から認識させることは可能でしょうか』(T)
下記のような実行をしたいのですが可能でしょうか。
方法がありましたら教えてください。
例)
同一ファイル(ブック)上で
1枚目のシートの名前:ABC
2枚目のシートの名前:XYZ
とします。
2枚のシートXYZのセル「C3」に
=INDEX('ABC'!$A$1:$P$21,5,4)
という形で、シートABCのD5セルの値を持ってきます。
このときに、シートの名前を別のセルから持ってきて、
実行することは可能でしょうか。
⇒イメージでは、
XYZのセル「C1」に"ABC"と入力し、その入力したシート名と
一緒のシートを認識し、「C3」を反映させる。
C3のセルには、下記のようなものでできないか?
=INDEX('C1'!$A$1:$P$21,5,4)
説明がうまくなくて申し訳ございませんが、
ご理解をいただければ、お教えいただけますでしょうか。
INDIRECT関数を使うのが良い様に思います。 =INDEX(INDIRECT(C1&"!A1:P21"),5,4) C1セルの値と"!A1:P21"をくっつけた ABC!$A$1:$P$21 がセル番地として使用されます。
なお、A1:P21の部分は文字列になりますので 絶対参照の記号が不要になります。
因みに、"'"が必要なシート名の場合は それも & でくっつけてください。 =INDEX(INDIRECT("'"&C1&"'!A1:P21"),5,4)
(HANA)
=INDEX(INDIRECT("'"&C1&"'!A1:P21"),5,4)
の形でうまくいきました。
特に、問題があるわけではございませんが、
気になったのでもしお分かりになりましたら、
教えてください。
シートの名前に'は入れていないのですが、
上記の式でないとうまくいきませんでした。
下記では、実行は難しいということでしょうか。
=INDEX(INDIRECT(C1&"!A1:P21"),5,4)
今後もよろしくお願いいたします。 (T)
ん?・・・ごめんなさい、ちょっとよく分からないですが・・・ シート間セル参照をしたときに、勝手に「'」がつくようなシートが有りますよね。
シートの名前に「'」が使われているシート【ではなく】 シート間参照したときに ='シート名'!A1 の様に 勝手に「'」がつくようなシートです。
その様なシートには、それがついた状態で参照しないと 上手く行かない事があります。
ご提示の式 >=INDEX('ABC'!$A$1:$P$21,5,4) の配列部分のシート名は「'ABC'」と成っていますよね。 実際のシート名は「ABC」かと思います。 (まぁ、ABCなら「'」はつかないと思いますが・・・・。) INDIRECT関数で参照する際も、「'」がつくようなら 「'」がついた文字列にして下さい。
>C1&"!A1:P21" で出来る文字列は「ABC!$A$1:$P$21」 >"'"&C1&"'!A1:P21" で出来る文字列は「'ABC'!$A$1:$P$21」
実際に指定するのは、数式の中の「'ABC'!$A$1:$P$21」 ですので、その様な文字列になる後者を使って下さい。
・・・と言う説明で分かりますかね?
ちなみに、この掲示板は 文頭に半角スペースを入れると 改行出来ますよ。 私の書き込みは _←この部分に半角スペースを入れて有ります。
(HANA)
お〜よーくわかりました。 納得しました。 本当に説明の仕方、聞き方がへたくそで申し訳ございません。 お手数をおかけさせてしましました。
またよろしくお願いします。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.