• ベストアンサー

エクセル2000のCELL関数

便宜上、シートの左上にタイトルのようなものを表示させたくて、セルA1に =CELL("filename") という関数を入力しました。 まず最初に1つのシートにこの関数を入力して、あとはそのシートをコピーして使っているのですが、複数のシートのうちの1つのシート名を変更すると、なぜか全てのシート名が同じように変更されてしまいます。 アクティブシート以外のシート名を変更しないようにするにはどうしたらいいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • trytrytry
  • ベストアンサー率37% (13/35)
回答No.1

=CELL("filename",A1) としてみるとどうでしょう?

bari_saku
質問者

補足

おおっ!できました!! ですが「A1」があるとなしで、なぜ結果が変わるのでしょうか?(重ね重ねの質問をすみません)

その他の回答 (5)

  • comv
  • ベストアンサー率52% (322/612)
回答No.6

みなさん こんばんは >ですが「A1」があるとなしで、なぜ結果が変わるのでしょうか ヘルプより 書式は CELL(検査の種類,対象範囲) 検査の種類 "format" 対象範囲を含むファイルの名前 (絶対パス名) を表す文字列 対象範囲 情報が必要なセルを指定します。何も指定しないと、最後に変更したセルについて、検査の種類-に指定した情報が返されます。 ------------------------------------------------ で対象範囲をSheet名なしのセル番地を記入すれば 当然、対象は自己シートと判断されるためです。 A1でもB2でもA10でも同じです

bari_saku
質問者

お礼

こんにちは。 なるほど、Sheet名なしのセル番地を記入した場合は、そのシートのみ有効になるという仕様なのですね。 これですっきりしました。 反面、セル番地を記入しない場合は全てのシートに有効になるようですが、これはこれで使いようによっては便利な機能かもしれません。覚えておくことにいたします。 ご回答、どうもありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

>1つのシートにこの関数を入力して =CELL("filename")と入れたと言うことですね。 すると本来の=CELL(検査の種類[,対象範囲]) の「対象範囲」が無いので、ActiveCellのシート(ActiveSheet)が対象シート・対象範囲になったと考えられます。 Sheet3で=CELL("filename")と入れるとSheet3ですが Sheet4に複写するとSheet4ではSheet4、Sheet3でもSheet4になります。Sheet3のA1(A1にこの関数が入っているとして)でエンタを押すとSheet3になりSheet4もSheet3になります。このことをおしゃっているのですね。複写元の来歴を覚えていて複写元まで変えるようです。 ハッキリさせるには=CELL("filename",Sheet3!B1)のようにすれば、Sheet3の議論の余地がありません。しかしこれではこの関数を使う意味が無い。Sheet名を変更した時に 変えてくれるメリットぐらいでしょうか。 FileNameといってながら、Sheet名までなぜ出るのか不思議ですが、Sheet名が出る=Cells("SheetName")といった関数がが欲しいとこの頃つくづく思っています。

bari_saku
質問者

お礼

こんにちは。 ええと…No.1さんの所にも書きましたが、=CELL("filename",A1)と入力すると、それぞれのシート名がきちんと表示され、アクティブシート以外の名前が変わることがありません。 確かに普通に考えれば、imogasiさんのおっしゃる通りの結果が出そうなものですが…なぜでしょう??? SheetName関数については私もまったく同意見です。 FileNameですとパスから何から何まで表示されてしまうので、シート名だけを表示させるのに、また余計なプロセスを踏まなくてはなりませんし。 ご回答、ありがとうございました。

  • XO-GE
  • ベストアンサー率20% (1/5)
回答No.4

#2,trytrytryさんの回答が正解でしょう。 つまり、「A1」の部分に何も指定しない場合は最後に変更したセルのシート名が入るのでしょう。 =CELL("FILENAME", Sheet2!A1) とすると、どのワークシートに書いてもSheet2が表示されるはず。

bari_saku
質問者

お礼

こんにちは。 どうやらエクセルの仕様の問題だったようです。 ある程度わかっているつもりでも、仕様をよく理解していないと思わぬ所でつまづいてしまうのですね。大変勉強になりました。 ご回答、どうもありがとうございました。

  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.3

当該ファイルが保存されていなかったからです。 保存すれば、 =CELL("filename") で出力されますよ。

bari_saku
質問者

補足

すみません、こちらは「保存」をすると本来のシート名に変わるということでしょうか? 早速トライしてみたのですが、他のシートのタブをダブルクリックすると、変わってしまいます。 「保存」をして、再度開くとちゃんと表示されていましたが…

  • trytrytry
  • ベストアンサー率37% (13/35)
回答No.2

書式はこうなります。 =CELL(検査の種類[,対象範囲]) で、ヘルプに書いてあったのですが、 対象範囲 情報が必要なセルを指定します。何も指定しないと、最後に変更したセルについて、検査の種類に指定した情報が返されます。 だそうです。 しかし、"filename"(対象がセルで無い場合)については詳しく書いていないので、適当に試していたら"A1"で出来ました。

bari_saku
質問者

お礼

こんにちは。 て、適当…(汗) いえ、これは知識より経験がモノを言ったという好例なのでしょう!! 何度もありがとうございました。 もしかしたら他の説も出てくるかもしれませんので、もう少し締め切らずにおいておこうかと思います。

関連するQ&A

  • =CELL("filename")で取得したファイル名をHYPERLI

    =CELL("filename")で取得したファイル名をHYPERLINK関数で使いたい。 エクセルで「目次」というファイルを作り、そこからHYPERLINK関数で別のファイルにリンクを貼りたいと思っています。 万が一ファイルの場所が移動した場合にも、リンクが切れないように、=CELL("filename")で取得したブック名をHYPERLINK関数で使ったらどうかと思うのですが、うまくできません。 考えた方法は、 (1)ファイル名(テスト1)sheet1のA1のセルに=CELL("filename")と入力したものをコピーして、ファイル名(目次)sheet1のA1にリンク貼り付けする。 (2)(1)で表示された(目次)sheet1のA1のファイル名をHYPERLINK関数の中に使って、リンクを貼れるようにする。 としたいのですがどのように書けばいいのでしょうか。 よろしくお願いいたします。

  • Excel で CELL 関数が使えない

    Excel for Mac 2011 を使っています。 何も入力されていないシートの A1 セルに「=CELL("row",B1)」と入力して「1」が返されるのを期待しているのですが、「#VALUE!」エラーが返されてしまいます。 ミスタイプしていないか何度も確認し、問題ありませんでした。 ネット上のサポート情報から同様の例をコピペしても同じ結果でした。 「=CELL("type",B1)」と入力してみると正しく「b」が返されます。 CELL 関数は公式のヘルプでも Excel for Mac 2011 でサポートされているようですが、なぜこのようなエラーが発生するのでしょうか?

  • シート内のセルに各シート名を表示するには

    セルに下記の値を入力してシート名を取得しています。 RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) シート名を取得できたのでこのシートを雛型にしてシートをコピーしてシート名を変更したら雛型側も変更されてしまいました。 例えば  シート名が「シート1」のセルに「シート1」  シート名が「シート2」のセルに「シート2」  シート名が「シート3」のセルに「シート3」 というようにしたいのですがうまくいかず困っています。 ※セルとは上記の値を組み込んでいるセルです。 各シート内のセルにそれぞれの各シート名を表示するようにどうしたらいいのでしょうか? 説明が下手ですみませんが理解していただけましたでしょうか? 宜しくお願いします。

  • エクセル関数 シート名をセルに反映させたい

    シート名をセルに反映させたいのですが,以下のようなことができるでしょうか。 =CELL("filename",A1)を使えば,シート名を反映させられるようであることは,ネットで調べて分かったのですが,たとえば,シート2を作成した時に,シート1のA2のセルのところに,自動でシート2の名前を入力できるような関数はありますか?その後,シート3を作成した時に,同様にシート1のA3のところに自動で入力したいのですが,そのようなことが可能でしょうか。 説明が下手で申し訳ないのですが…

  • Excel で別シートのセル値を表示させる(初心者)

    Excel で一つ前のシートにあるセル値を表示させる。 例えば"Sheet1"と"Sheet2"が有るとして"Sheet2"のセル"A1"へ "Sheet1"のセル"A1"の値を表示させるには、=Sheet1!A1 と入力しますが、 この<Sheet1>の部分だけを別のセル "A2" で入力した値に変更したいです。 (気持ちとしては、A2!A1) どの様にすれば良いでしょうか? 常にシートをコピーして作成し、常に一つ前のシートの同位置セルの値を 表示させたいのが狙いで、シート名は数値に設定して "A2"へ MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31)-1 などを入れて方法があれば作成しようと考えています。 マクロも分かりません、関数など何か方法があればご教授お願いします。

  • エクセルのCELL関数

    タイムシートを2枚似た感じの物を作らないといけないので 勤務始業時間と就業時間をCELL関数を使って 自動的にもう一枚の方を作成したいと思うのですが、 1のタイムシートを Aとします 2のタイムシートをBとします Aの時間は3個のセルを結合して時間を入れる様になっていて Bの時間は4個のセルを結合して時間を入れる様になっています この様な場合 どのようにしたら Aのシートに有る時間**:**を Bのシートに移せますか? contents を使ったら 不思議な数値がでてしまいました 宜しくお願いします

  • EXCEL:シート名を返す関数?

    アクティブシート名を返す関数ってあるのでしょうか。 ヘルプやネット検索で探してみたのですが見あたりませんでした。 とりあえず =RIGHT(CELL("filename"),(LEN(CELL("filename"))-FIND("]",CELL("filename")))) で、悪あがきしているのですが、 他シートで同じ式を使うと、何故か(!)すべてのシートの上式の答えが 同じになってしまいます。 CELL("FILENAME")は、1ブック1回しか使えない、とかあるのでしょうか。。 当方、EXCEL2000、WIN2000、利用者は素人(私)です。 できればVBAとかは使わず、関数で処理したいのですが、 皆様の御知恵をお借りできませんでしょうか。。

  • エクセルで左隣シートの特定のセルの値を表示させたい

    エクセルで左隣シートの特定のセルの値を表示させたいのですが、 どのようにすればよいでしょうか? 似たような質問の回答をいくつか試したのですが、 よく理解できていないため、うまく応用できずエラーになってしまいます。 ="No."&SUBSTITUTE(MID(CELL("filename",$A$1),FIND("(",CELL("filename",$A$1))+1,5),")","") とか =INDIRECT(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1&"日!A"&ROW(F24)) とか =SUM(INDIRECT("'"&(SUBSTITUTE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),"日","")-1)&"日'!c5"),F24) とか といった式が参考になりそうですが、結局どう書き変えればいいのかわかりません。。 具体的には、シート名が「04」「05」…「12」「01」「02」「03」と1年分の12シートあります。 半角2桁のみのシート名です。 05以降のシートには、それぞれF1セルに、 「左隣シートのF24のセルの値を表示させたい」のです。 (F24のセル自体は「=F11+F23」という式が入力されています。) 例の式の「日」とか「row()」とかは必要ないと思いますが、 消しただけではムリそうなのでそのままコピーしています。 おわかりになる方、どうぞよろしくお願いします。

  • excelでファイル名を自動入力する方法

    excelでファイル名をセルに自動入力する方法を探しています。 =MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-5) 上記の方法で自動入力可能なのですが、あとから同時に他のファイルを開いたりすると、そのファイル名がセルに入力されてしまい、困っています。 複数ファイルを同時に開いても、当該ファイル名を入力するようにはどうしたらよいでしょうか? 【詳細】 ファイル1.xlsのセルA1に上記式をセットしてある状態でファイル1.xlsを開くと、セルA1には「ファイル1」と入力されているが、あとからファイル2.xlsを開くと、セルの内容が「ファイル2」に変わってしまう。

  • Sheet名をセルに表示

    宜しくお願いいたします 先日、Excel自動入力で「mu2011]様から教えていただき Sheetの名前をA1セルに表示する事が出来ました(他も全て上手くいきました) そこで、勉強のつもりでExcelを立ち上げて、再び同じように =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,10)と入力しても「#VALLE」が表示されてエラーとなりますが何処か違うのでしょうかSheet1には名前を入れてあります ちなみに、最初に教えていただいた時にはコピペで関数を貼り付けたら上手くいきましたので前と同じ方法でページに行きコピーして 新規にExcelを立ち上げて同じようにペーストしてもエラーとなります?? 何処かExcelの設定がおかしいのでしょうか。

専門家に質問してみよう