[[20060322114316]] 『シートを入れ替えても参照を継続したい』(マイク) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シートを入れ替えても参照を継続したい』(マイク)

シートを入れ替えても参照を継続したい(シート名固定で参照したい)

はじめまして、ご回答よろしくお願いします。

='シート名'!A1 のような参照がある場合、
参照シート名を変更すると自動的にシート名も変更されてしまいます。

1.シート名を変更しても ='シート名'!A1 が変わらない方法

はないでしょうか?

シートを入れ替える事が多く、前と同じシート名をつけるのですが、
参照が切れてしまいます。参照を切れないようにするにはどうしたらよいでしょうか?

どうかご教授願います。


 ◆INDIRECT関数ではどうでしょうか!
 (Maron)

早速のご回答ありがとうございます。INDIRECT関数が使えそうだと思い、
調べてみたのですが、無知なもので、どうもうまくいきません。
お手数お掛けしますが、どのように設定すれば良いのでしょうか?
ご教授願います。

あと、INDIRECT関数で 例えば、A1のセルにシート名を入れて、
A1の値のシートを参照するようにできそうなのですが・・やり方がわかりません。
申し訳ないですが・・お助け願いますでしょうか?


 ◆=INDIRECT("シート名!A1") または、 =INDIRECT("Sheet1!A"&ROW(A1))
 (Maron)

申し訳ありません・・・
今の状況ですが、

sheetA セルD1に
sheetBのE1の値を入れたい

sheetA セルD1に
='sheetB'!E1
と入力すればOKなのですが・・
sheetBを削除し、新たに同名のsheetBを挿入すると
='sheetB'!E1

=#REF!E1 となり参照が切れてしまいます。

ご指示のように
=INDIRECT("sheetB!E1")としてみたのですが・・参照できません。(#REF!)
=INDIRECT('sheetB'!E1)としても参照できません(#REF!)

何がまちがっているのでしょうか?ご指示の内容と違っていますでしょうか?
何度も申し訳ありませんが・・よろしくお願いします。


 ◆シート名は、「sheetB」それとも、「B」でしょうか?
 ◆シート名が、「sheetB」なら、 =INDIRECT("sheetB!E1")  
 ◆シート名が、「B」なら、 =INDIRECT("B!E1") 
 でどうでしょうか!
 (Maron)

シート名は、「sheetB」です。

=INDIRECT("sheetB!E1")
としてみましたが、#REFとなってしまいます・・・

どうしたもんでしょうか?
セルの絶対参照は「$」でできますが、
参照シート名の固定はできないものなんでしょうか?


 マイクさんのコメントの流れから、#REF! になるのは当然のような気がします。
 >sheetBを削除し、新たに同名のsheetBを挿入すると 
 >=INDIRECT("sheetB!E1") としてみましたが、#REFとなってしまいます・・・ 
 そのシートを削除しているんですから、、、
 
 =IF(ISERROR(INDIRECT("sheetB!E1")),"",INDIRECT("sheetB!E1"))
 のようにして、回避するのは外してますでしょうか?

 (キリキ)(〃⌒o⌒)b

(Maron)さん(キリキ)さん コメントありがとうございます。^^

もう少しだと思うのですが・・
=IF(ISERROR(INDIRECT("sheetB!E1")),"",INDIRECT("sheetB!E1"))

とするとセルがエラーではないですが、空白になります。

ちなみに

sheetBを削除し、新たに同名のsheetBを挿入すると =INDIRECT("sheetB!E1") としてみましたが、#REFとなってしまいます・・・

についてですが、シートを削除する前に#REFとなってしまいます。
(参照すらできません。)

=INDIRECT("sheetB!E1") でsheetBのE1を参照できるのでしょうか?
この時点で#REFとなるのですが、デキが悪くて申し訳ありません。
なんとか参照できるようにしたいのでよろしくお願いします。


 sheetB が間違いなく存在するのなら、=INDIRECT("sheetB!E1") が
 #REFエラーになることはありません。再度シート名をチェックして下さい。
 尚、シートを削除すれば当然#REFエラーになりますが、INDIRECT関数の
 引数は「文字列」ですから、新しくシートを挿入して名前を変えれば
 再び正しく参照します。
(純丸)(o^-')b

あ!!解決しました。

(純丸)さん(Maron)さん(キリキ)さんありがとうございました。

説明の為にsheetBという名で説明しておりましたが、実は「AB#3」のようなシート名
でした、これを「a」に変えてみて
=INDIRECT("a!E1") のようにするとうまくいきました^^
#とかがダメなんでしょうか??

(純丸)さんの

sheetB が間違いなく存在するのなら、=INDIRECT("sheetB!E1") が #REFエラーになることはありません。再度シート名をチェックして下さい。

のおかげで、#REFの原因をつきとめることができました。
ありがとうございました。


 「AB#3」なら、=INDIRECT("'AB#3'!E1") とするとうまくいきます。
(純丸)(o^-')b

ありがとうございます。初心者で申し訳ありません。

あつかましいですが・・・
やりたい事はうまくいったのですが、、マウスを引っ張り列をコピーしていくと
A1=INDIRECT("'AB#3'!E1")
A2=INDIRECT("'AB#3'!E1")



となってしまいます。

A1=INDIRECT("'AB#3'!E1")
A2=INDIRECT("'AB#3'!E2")



とするのはどうすればよいのでしょうか??

過去ログにあるかもしれませんが、よろしければ教えてください。


 =INDIRECT("'AB#3'!"&CELL("address",E1))
 こんな感じです。
(純丸)(o^-')b

(純丸)さん

ありがとうございました^^ほんとうに助かりました。
親切な方がいてよかったです。
もう少しエクセルが分かるように努力いたします。

あつかましい質問までお答え頂きありがとうございました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.