- ベストアンサー
セル番号を指定しそのセル内容を表示したい
エクセルにて、セルA1番からA10番まで入力した文字を、セルB1番に表示させたいセルNOを入力しセルC1番に表示させたいのです。 =CELL("contents",セル番号)をうまく使ってできないものでしょうか。また、入力文字シート・表示させたいセルNO入力シート・表示させるシートが別々にできるなら、よりうれしいのですが。よろしくお願いします。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
もう書くのをやめようとも思ったのですが、 INDIRECT()の()内は文字列指定です。 ですから、参照セルのアドレスさえ間違っていなければ、 (1)=INDIRECT("Sheet1!A1") でもOKですし、 (2)=INDIRECT("Sheet1!"&A1) でもOKのはずです。(A1セルにアドレスが入力されている事) ★(1)と(2)は意味が違います。 (1)はSheet1のA1セルの値を取得します(=Sheet1!A1と同じ意味) (2)はA1セルに B2 と入力されていれば、 Sheet1のB2セルの値を取得します。 roriさん混乱したらすみません。 ついでに、 B1セルに1~10までの数字を入れてA1~A10の値を表示させるには、 =OFFSET(Sheet1!A1,B1-1,) =INDEX(Sheet1!A1:A10,B1,) のような書き方があります。 (この場合、シートは固定になります。(INDIRECTと合わせれば可能ですが))
その他の回答 (8)
- imogasi
- ベストアンサー率27% (4737/17069)
#8でご指摘の >=INDIRECT("Sheet1!"&A1)でもOKのはずです. は、元凶は#7の私のようですが。 済みませんでした。私の場合=INDIRECT("Sheet2!"&B1) をやっていました。この場合、「Sheet2」のB1セルに番地を入れるのかと思っていましたが、正しくは、Sheet2で+Sheet1のB1セルの内容の番地の内容を拾うのですね。 Sheet2で+「Sheet2」のB1セルの内容の番地の内容を拾うと思っていました。 それとかR1C1形式にしておくとB1とかはダメらしいとか 勉強させてもらいました。 しかしroriさんtaisuke555さん済みませんでした。
お礼
何度の回答ありがとうございます。おかげさまでNO8の回答で解決しました。
- imogasi
- ベストアンサー率27% (4737/17069)
#5です。 >「Sheet2などのSを大文字にすること。しないとエラーです。」は小文字でも大文字でもOKですね。間違いで、済みません。 >「、=INDIRECT("Sheet2!"&B2)とすると、エラーになるようです」は B1にsheet2!c1と入れて=INDIRECT(B1)ならOKのようです。
- taisuke555
- ベストアンサー率55% (132/236)
何度もすみません。 #5さんへ 何か設定があるかもしれませんが、 普通にやって、2つとも問題なくできました。 SHEET1でもsheet1でも また、全角で入力してもできました。 EXCELは2000です。確認してみてください。 (できなければ、正確に入れてください) B1,B2に入力されていない場合は、エラーになるので、 =IF(AND(B1<>"",B2<>""),INDIRECT(B1&"!"&B2),"") とすれば入力されていない場合は表示されません。 B1に、無いシート名を入力したり、 B2に、セル番地でない値を入力した場合、当然エラーが出ますが、 この場合は、エラー表示があった方がいいと思います。
- imogasi
- ベストアンサー率27% (4737/17069)
・=INDIRECT(D1&"!"&B1)のようにしてOKでした。 B1にC1、D1にSheet2といれたところ、Sheet2のC1セルの内容を引いて来ました。””は要りません。 ・それよりシート名を変更していない時は、Sheet2などのSを大文字にすること。しないとエラーです。 ・またINDIRECTは中途半端に、Sheet2を直接入れると、=INDIRECT("Sheet2!"&B2)とすると、エラーになるようです。
- taisuke555
- ベストアンサー率55% (132/236)
#3さんへ いいえ! B1にSheet1 B2にA2 と入っている値を使用したいので、 ""はいりません。
- yuusukekyouju
- ベストアンサー率22% (21/94)
#1,2さんの補足 =INDIRECT(B1&"!"&B2) は=INDIRECT("B1"&"!"&"B2") ではないですか。
- taisuke555
- ベストアンサー率55% (132/236)
#1さんの補足 >入力文字シート・表示させたいセルNO入力シート・表示させるシートが別々にできるなら B1:シート名(Sheet1) B2:表示させたいセル(A1) で C1セルに =INDIRECT(B1&"!"&B2) のようにすれば表示されます。
- ja7awu
- ベストアンサー率62% (292/464)
「セルNO」ってアドレスのことですね。 それですとセルC1に =INDIRECT(B1) でどうですか。
お礼
返事が遅くなってすみません。一晩で回答が9通もありびっくしてます。本当ありがたく思っています。おかげさまで =INDEX(Sheet1!A1:A10,B1,) の関数で解決しました。