• ベストアンサー

数式中の参照先のシート名の置換について

先日、ブック間コピーによる数式の置換について質問をし、色々ご回答をいただくも結果が得られなかった者です。 ひとつの実験として、コピー前のシートで数式の参照名を置換してみてもダメだったので、数式の=の前に#を入れてやってみました。 参照先の「東京データ」を「大阪データ」と置き換えることはできたのですが、#=から=への置換ができません。この置換をしようとすると、先日ご回答をいただきながら出来なかった<リンク元の変更>の操作と同様の画面が現れ、結果ダメでした。 数式を単純に文字列として扱う方法はないのでしょうか?

  • enimy
  • お礼率86% (225/259)

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

http://oshiete1.goo.ne.jp/qa5473151.html これの続きでしょうか。 書かれている事だけで推測すると、参照している[東京.xlsb]のシート名と同じ名前のシートが自分のBookに無いだけのような気がしますが。 例えば、 ='C:\Documents and Settings\ユーザー\デスクトップ\[東京.xlsb]東京ベース'!$A$1 これを自分のBookの =大阪ベース!$A$1 に変更したいなら [Ctrl]+[h]の置換で 検索する文字列 C:\Documents and Settings\ユーザー\デスクトップ\[東京.xlsb]東京ベース 置換後の文字列 大阪ベース として、検索対象を[数式]にして[すべて置換]で出来ないのでしょうか。 [データ]-[接続]タブの[リンクの編集]でやる場合は、事前にシート名を修正しておいて、元Bookのシート名と合わせておけばできると思いますが。 後でシート名を戻せば良いでしょう。 前スレッドでもMackyNo1さんが『そもそもコピー先のブックには、数式が参照しているシートがあるのでしょうか?』と確認されてますよね? また、『置換対象のデータが見つかりません。』と出たのは、[東京.xlsb]が[東京xlsb]になってたとかじゃないですかね。 (つまり『.』ドットが抜けてる) 数式バーから置換したい文字をコピーして置換ウィンドウに貼り付けたほうが良いと思いますよ。

enimy
質問者

お礼

詳細なご回答をいただき、これでわかるような気がします。 自分でも、他の人から見ればつまらないマチガイに気が付けないのだろうと思っていましたが、東京のあとにドットがあるとは・・・でした。 基本から学習しようと思います。 ありがとうございました。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

よく分からないのですが、別シートを参照するのですか? 「東京データ」と「大阪データ」のブックは同一パソコンの同一フォルダにあるのですか? 同じフォルダにあるなら、同じシート名のシートが無い、ということが考えられます。 「東京データ」と「大阪データ」が異なるフォルダにあるなら ブック名とかシート名を「置換」しても駄目だと思います。 例えば ='D:\VTdata\Test\[A.xlsx]Sheet3'!A1 といった式なら 検索する文字列を、'D:\VTdata\Test\[A.xlsx]Sheet3' 置換後の文字列に、Sheet3 として「すべて置換」すればどうなるでしょうか。 =[A.xlsx]Sheet3!A1 といった式なら 検索する文字列を、[A.xlsx] 置換後の文字列には何も指定しないで 「すべて置換」すればどうなるでしょうか。 上手くいかないのなら 問題の数式を提示されて相談される方が良いとおもいます。

enimy
質問者

お礼

自分では、ある程度はわかっているつもりだったのですが、実はフォルダとかシートとかの扱いを何もわかっていなかったのでは?という気がしております。 例としてお示しいただいたような数式を検索文字列に入れるとしても、セル内の数式は単純な「・・・東京ベース!$A$2:$A5000」というようなものなので、これをどうすると'D:\VTdata\Test\[A.xlsx]Sheet3'的な 複雑なものにで変換できるのかが、そもそもわからないもので・・・。 いずれにしても基本から学習する必要がありそうなので、ご回答をいただくことの意味が理解できるようになりましたら、またよろしくお願いします。 ありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>ひとつの実験として、コピー前のシートで数式の参照名を置換してみてもダメだったので、数式の=の前に#を入れてやってみました。 参照先の「東京データ」を「大阪データ」と置き換えることはできたのですが、#=から=への置換ができません。この置換をしようとすると、先日ご回答をいただきながら出来なかった<リンク元の変更>の操作と同様の画面が現れ、結果ダメでした。 数式を単純に文字列として扱う方法はないのでしょうか? 上記の操作で置換は問題なくできています。 すなわち、<リンク元の変更>の操作と同様の画面が現れたことは、セルに入力された値が数式とみなされた(置換ができた)ことを意味しています。 結論的にいうと、リンクしている数式そのものに問題があります(そのまま問題の数式をコピー貼り付けして提示されたら、問題点を回答者がわかるかもしれません)。 これを自分で検証するのであれば、リンク数式の数を1つだけにしたシートを作成して、同様のコピー操作を行うなどして、原因をより追究しやすいようにして調査することをお勧めします。

enimy
質問者

お礼

これを機に基本的な部分から学習しようと思いますので別シートを作成してやってみます。 問題の数式を提示しようにもどれが問題の数式なのかがそもそもわからないもので・・・。置換のときの表示を見ると、数式が2800ほど入っていることになっています。 発見できて対処法がわからない場合にはよろしくお願いします。 ありがとうございました。

関連するQ&A

  • エクセルのシート名の参照

    エクセルでブック1とブック2があり、それぞれ日付別に1~31のシートがあります。 ブック1は日報のような内容となっており、ブック2でブック1のデータを参照して、計算をしております。 ブック2の計算式が月ごとに変わるのですが、ブック2のシート1に数式を入力し2~31にコピー&ペーストし、置換を使用して参照シート名を1から2~31へと置換しているのですが、間違いや変更のたびにやりなおしとなり、かなり手間となっています。 何か良い方法は無いでしょうか? 分かりにくくてすいません。

  • エクセルの数式から参照ブックとシートを抜き出したい

    あるセルが他のブックやシートを参照していたら、数式の中からブック名とシート名を抜き出したいです。 できれば、VBAを使う方法が知りたいです。(他の方法でも、あれば教えてください。) -- ・数式例1 ='[Book1]Sheet4 (2)'!R[-2]C ・欲しい結果例1 ブック名=Book1 シート名=Sheet4 (2) ・数式例2 =Sheet1!R[-1]C ・欲しい結果例2 ブック名="" シート名=Sheet1 ・数式例3 =A1 ・欲しい結果例3 ブック名="" シート名="" ・数式例4 =IF([Book1]Sheet2!R[-3]C="",Sheet1!R[-3]C,[Book1]Sheet2!R[-3]C) ・欲しい結果例4 ブック名=Array("Book1","","Book1") シート名=Array("Sheet2","sheet1","Sheet2") -- 例は単純にしましたが、実際には数式はもっと複雑で長いです。 列によって参照する場所が違い、どの列からどのブックやシートを参照しているのかを知りたくて、質問しました。 よろしくお願いいたします。

  • ブック名を引きずらない数式のコピー

    日付け毎にファイルされた実験データを整理していますが、数式の入ったセルをコピーすると、ブック名がついてコピーされてしまいます。 1)他のブックから数式の入った表をコピーしたとき、コピー元ブック名なしのシート名と関数のみをコピーする方法はありませんか。 2)指定した表内の参照シート名を一括して変える方法はありませんか。 3)実験を実施した毎にシートができています。 例えば、2月1日の3回目の実験データ: 070201(3) 集計表で、070201(x)のxを自動的に更新するセルコピー方法はありませんか。

  • Excel2010特定シートでの数式入力が不可です

    区域別にブックがいくつかあり、各ブックの1枚目に基本データを入れています。 基本データを参照して特定データを別シートにてカウントしています。 ブック1に入力した数式をブック2へコピーし、置換にて参照先を変更するやりかたで他のブックは問題ないのですが、特定のブック(3ツ)でそのやりかたが通用しません。 =COUNTIFS('東京ベース'!$bb5:$bb5000,"a",'東京ベース'!$b5:$b5000,2013)と改めて入力してみると、確定後に数式の一部が変わってしまいます。 数式タブから新たに入力すると、検索条件を"a"としているのに確定すると勝手に"A"となってしまいます。データのシートのaをいくつかAに変更してみたのですがカウントしません。 ひとつのブックに10枚のシートがあり、数式が入り乱れているのですが特に問題なしです。該当のシートにも他のセルに集計や参照の数式を入れていますが機能しています。 自分としては何をチェックしてみたらよいのかわからないためアドバイスをよろしくお願いします。

  • ブックをまたぐコピーデータの置換がうまくできないのですが

    2007でのブック間でコピーしたデータの中で、数式の参照先をコピー元からコピー先へ変更しょうと試みたのですがうまくできません。 コピー元である「東京に関するデータ集計表」の様式、数式をそのまま「大阪のデータ集計表」として使用すべく大阪のブックへコピーしました。数式の参照先が「東京」となっているものを「大阪」に変更するために、コピーにより数式に追加された[東京xlsb]の部分を含めて「大阪」に置換を試みました。 データが存在しないので確認を、となり置換ができないため、次に「東京」のブック内にコピーをつくり、単純に「東京」を「大阪」に置換してからそのシートを大阪のブックへ移動しようとしました。 すると今度はファイル名を指定する窓が現れ、わからないので中止しようとキャンセルをしても閉じようとしても反応しなくなりました。 やむを得ず電源OFFに・・、これを数回くりかえしています。 まず、キャンセルができない、という現象の対処法をお願いしたいのですが。 次に、このケースで一括置換をするにはどうすれば良いのでしようか? むづかしいことはわからないため、初心者向けでご教示いただければ幸いです。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • 複数シートに跨る数式参照について

    現在、1つのファイルにAシート、Bシートが存在します。 Aシートは、Bシートから値を参照し、数式、条件付き書式、 VBAにて作成されているシートになります。 Bシートにはデータが格納されています。 今回、新しくシートが4つ増えます。(C,D,E,Fとします) 新シートの役割としては、Bシートと同じくデータが登録されます。 そこで質問なのですが、Aシートで全てのシート(B,C,D,E,F)の データを参照をするにあたり、数式を簡単に設定する方法があるか知りたいです。 B,C,D,E,Fシートは、フォーマットが違うため、同じ項目を参照するのでも Bシートでは、H列を参照。Cシートでは、I列を参照など条件が変わるため シート名を覚えておく方法では、うまくいかず、結局数式でIF ELSEIF と 数式を作成する必要があり、参照数も多いためとても手間になります。 【条件】 ・始めにB~Fのどのシートを使用するか選択をします。 選択をしたシート名等は格納しておけます。 ・VBAは使用可能です。 ・参照数は500~1000セル程度。 ・できるだけ後からメンテしやすい形にしたい。 ・条件付き書式はAシートのみで完結しているため、影響はないと思います。 最悪、Aシートを5ケース分作成し、使用シートを選択時にシートの表示・非表示を 切り替えるしかないと今は、考えています。 知恵をお貸し頂ければと思います。

  • エクセルの数式の置換

    エクセルの数式の置換 FileAの数式をFileBにコピーしたのですが、「FileA」の書式が残ってしまい、それを置換しようとしてもうまくいきません。 串刺し計算の数式 =SUM('[FileA.xls]Sheet1:Sheet4'!セル)を FileBの中で =SUM('Sheet1:Sheet4'!セル) となるように置換したいのですが、どのようにすればいいでしょうか?

  • コピー先のファイルシートを参照させたい

    ファイル名「東京」の中には、シート『一覧表』『Data』があります。 『一覧表』は『Data』の値を参照して(VLOOKUP関数)、表としてまとめています。 「東京」をコピーしてファイル名を「大阪」とし、『Data』の数字だけを替えたいと思っています。 ところがこの方法だと、「大阪」の『一覧表』は「東京」の『Data』を参照してしまいます。 このファイルは[置換]で“東京”を“大阪”に置き換えていますが、複数のシートとリンクしている場合はとても面倒です。 「東京」ファイルをいくらコピーしても、新ファイル名のシートをリンク基とさせる方法を教えて下さい。

  • エクセル:置換しないと参照できない

    アクセス2010からエクスポートしたエクセル2010ファイルで、エクスポートしたデーターの入ったシートを参照する式を別のシートに入れてる(例えば=シート名!A1)のですが、新たにエクスポートしたときに前のデーターが残っており、置換で”=シート名!A1”の一部をそのまま置換すると新しいデーターに置き換わります。(例えば”ト”を”ト”に置換) 自動的に新しいデーターを参照するにはどうしたらよろしいでしょうか。 よろしくお願いします。

専門家に質問してみよう