• ベストアンサー

セルの数式の行番号の変更

エクセルで1つのセルに他のファイルを参照した数式が入っています。 IF(サーバー/ファイル名.xlsx、sheet1!A1="",””,サーバー/ファイル名.xlsx、sheet1!A1) このA1の1という数字が変わり、A100等に月が変わると変更しなければなりません。 これを置換機能で変えることはできますか? 1つだけならば手動で変えたらいいんですが、 100個もあります。200個変える必要があります。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>このA1の1という数字が変わり、A100等に月が変わると変更しなければなりません。 >これを置換機能で変えることはできますか? Excel 2007とExcel 2013で検証しましたところ何れも置換機能で変えることが出来ました。 注意すべきことは数式の中のA1をA100に置き換えるので例えばA11はA1001に変更されます。 提示の例のときは!A1=を!A100=に、!A1)を!A100)に置き換えるような操作で他に影響を及ぼさない方法にすると良いでしょう。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

別セルにパス部分と参照アドレスを用意します。 例: A1に "サーバー/ファイル名.xlsx、sheet1!" 、A2に "A1" =IF(INDIRECT(A1&A2)="","",INDIRECT(A1&A2)) これでA2の値を A1 から A100 に変更すれば、参照先を変更できます。

  • suo2k
  • ベストアンサー率44% (183/408)
回答No.1

そうですね、普通に置換で良いかと思います。 できるだけ、他のデータを間違って置換しないように、セルの範囲指定をしたり 検索と置換後の文字列を「ファイル名.xlsx、sheet1!A1」「ファイル名.xlsx、sheet1!A100」 のように長くしたり工夫なさってください。 範囲を指定せずに「A1」を「A100」に置換したりするとよくトラブル発生します。

関連するQ&A

  • excelで外のブックのセルを参照が上手くできない

    excelでの操作で行き詰まっています。 他のexcelファイルのセルを参照するのに、1つのセルにドライブパス名からファイル名までを すべてを入力すると参照したいファイルを開いて無くても参照出来るのですが ドライブパス名のセルとファイル名のセルを組み合わせた時に、開いて無い時は参照が出来ません。 参照したいファイルを開いた状態なら見れますが開かない状態で参照するには どうしたら良いのでしょうか? ='D:\user\[abcde.xlsx]Sheet1'!B1 ・・・ abcde.xlsxを開いて無くてもB1が参照出来る。 A1セルに 'D:\user\[ A2セルに abcde.xlsx A3セルに Sheet1'!B1 と入れて =indirect(A1&A2&A3) ・・・ 参照できない ファイル名を随時変更して参照したい為の作業です。 乱文ですみませんが、ご教示願います。

  • Excelでファイル参照を数式で表現したい

    Excel上で数式でファイル参照を表現し、 参照先のセルの値を表示させたいのですが、文字列として表示されてしまいます。 どのように記述すれば解決できますでしょうか。 現在、以下の方法を試みていますがうまくいきません。 ・A1セルに参照先のフォルダパスを記入 (例: D:\Application\ ) ・B1セルに参照先のファイル名を記入 (例: A.xlsx ) ・C1セルに参照先のシート名、セル番地を記入 (例 : Sheet1'!$A$1 ) ・D1セルにA1~C1セルを組み合わせた数式を記述 ="='" & A1 & "[" & B1 & "]" & $C$1 ※ 数式として次のようになります。 ='D:\Application\[A.xlsx]Sheet1'!$A$1 D:\Application\A.xlsx のSheet1のA1セルに test と記述されいる場合、 ここでD1セルに test と表示されてほしいのですが、 上記の数式が、そのまま文字列として表示されてしまいます。 A1~D1の書式は全て「標準」に設定しています。 また、このD1の値を他のセルに値として貼り付けて、Enterを押せば、test と表示されます。 数式に誤りはないはずなのですが、D1セルで直接 test と表示する方法はあるのでしょうか。

  • Excelで外部参照パスの一部を複数セルから利用は

    Microsoft Excelで (数式入力可能ならどのバージョンでも同じ)、 A1セルに、別ファイルの外部001.xlsxのSheet1のC1の値 123 と A2セルに、別ファイルの外部001.xlsxのSheet1のC5の文字列 こんにちは を 外部参照を使用して、セルに表示させたいのですが、 B1に下記のようなパスを手入力しておきたいです。 'C:\Temp\[外部001.xlsx]Sheet1' そして、 A1セルに数式として、B1のパスファイル名+セル名 のようにB1の値を利用したいです。 例:(この通り外部参照全てをB1に書いても、A1とA2は計算式エラーになります) 'C:\Temp\[C1あ.xlsx]Sheet1'!C1 <-- 実際には、\は円記号。 他の書き方でも値エラーとなったもの↓ ''C:\Temp\[C1あ.xlsx]Sheet1'!C1 "'C:\Temp\[C1あ.xlsx]Sheet1'!C1" ''C:\Temp\[C1あ.xlsx]Sheet1'!C1' 下記のような書き方で、 外部参照パスを一つのセルに記述し、 複数のセルからその1つのセルを参照利用する場合の実現方法を教えてください。 A1セル $B$1&"!C1" A2セル $B$1&"!C5"

  • 一つの数式で複数の相対参照をした場合の、数式の挙動について

    エクセルを使って営業の売上に関する表を作っていまして、 クライアントごとにシートを作り、そして「集計」という一つのシートに 各クライアントの数字の状況をまとめようとしています。 ここで、入力がしやすいように =IF(ISBLANK($A8),"",INDIRECT($A8&"!D30")) という数式を用意しました。 A8に「○○株式会社」というクライアント名を入れると、 「○○株式会社」というシートのD30の数字が入る仕組みです。 ただこれをオートフィルで一気に埋めようとすると、 =IF(ISBLANK($A9),"",INDIRECT($A9&"!D30")) =IF(ISBLANK($A10),"",INDIRECT($A10&"!D30")) =IF(ISBLANK($A11),"",INDIRECT($A11&"!D30")) と、$A9の部分しか数字が変わってくれません。 D30の部分の数字も一緒に変えることはできないのでしょうか!? また、今のままでは、例えば「○○株式会社」シートで行を挿入して 参照するべきセルが「D31」になったとしても、 変わらず「D30」を参照してしまいます。 どうにかして複数の相対参照を一緒に変更させることはできないものでしょうか!? よろしくお願い致します!!

  • excel 数式に含まれている名前を置換するには、

    こんにちは、 excelで、別EXCELからリンク貼り付けした数式に含まれているセルがあります。その数式内にあるファイル名を置換したいのですが、多数のセルがあるので一揆にできないかと考えています。何かいい方法がありましたら教えてください。 例) faile01.xls    file02.xls(参照元) A1:「\file02.xls\A1」 A2:「\file02.xls\A2」 A3:「\file02.xls\A3」 という数式が入っている。 上記で、使途全体より数式内にあるfile02.xlsを一気にfile03.xlsに変更する。 よろしくお願いします。 A1:

  • 数式の入った連続セルの行番号を比較

    Excel2000を使っています。 例えばSheet1 A列には   A 1 300 2 500 3 100 4 400 5 200 というような数字が数式 =Sheet2!A26、=Sheet2!B3 というように不規則に割り当てられて表示されています。 そこで、例えば A1とA2 のように上下二つのセルの行番号を関数を使って比較し、 同じなら B1に TRUE または FALSE と結果を表示したいのですがどのようにすればいいのでしょうか?

  • Excelで参照シートのセル番号だけを変更する方法

    Excel2007でsheet(1)上に、sheet(2)の値を参照して 最大値を求める計算があり、以下のような式になっています。 =MAX(sheet(2)!A10:A20,sheet(2)!A30:A40) この数式の数字の部分(10、20、30、40)だけを、sheet(1)上の別のセルに 記載した別の値を参照させたいのですが、そのような方法はあるでしょうか? (例えば、sheet(1)のA1に50、A2に60、A3に70、A4に80が入力されいたとして、 上記の数式を10→50、20→60、30→70、40→80になるように参照させたいです)

  • エクセルでの数式の読み込み

    エクセルを使用する際に、数式をあらかじめ記憶させて、呼び出すという方法はあるのでしょうか? ただ、数式において、セルの参照があります。シート名や場所は変わらないのですが、他のシートからコピーしますと、そのファイル名が入ってしまいますので、あくまで数式だけを読み込んで数式コピーをしたいのです。 知っておられる方がおりましたら、よろしくお願い致します。

  • エクセル2003で、数式を入っているセルの数字だけを残したい場合・・・

    或るSheetのセルに、他のファイル等からの参照なども多く含む 数式が随所に埋め込まれているのですが、 その数字の結果だけをそのまま保存したいので、 ある数字の結果が出たら、そのまま、数式だけ、削除して 数字だけを残してそのままずっと保存しておけないでしょうか??

  • マクロで数式を書き換えたい。

    【処理概要】 担当者一覧ファイルがあり、そのファイルには各担当者の目標と売上がデータが入っています。 各担当者に目標を入力してもらうため、担当者別にファイルを作成し、かつ目標列は各担当者ファイルの対応する列を参照する数式に変更します。  例)担当者一覧.xlsxの「C2」はA.xlsxの「C2」を参照する。(数式:=[佐藤.xlsx]Sheet1!C2) 【悩み】 担当者別にファイルを作成するマクロは出来たのですが、目標列に元から入っている数式をうまく変更することが出来ません。 例えば、添付画像の場合、担当者一覧ファイルの目標列の数式は上から (1) =[佐藤.xlsx]Sheet1!C2 =[佐藤.xlsx]Sheet1!C3 =[佐藤.xlsx]Sheet1!C4 =[鈴木.xlsx]Sheet1!C2 =[鈴木.xlsx]Sheet1!C3 =[山田.xlsx]Sheet1!C2 =[山田.xlsx]Sheet1!C3 となることが正しいのですが、forメソッドを使用して実行したところ、以下のようになりました。 (2) =[佐藤.xlsx]Sheet1!C2 =[佐藤.xlsx]Sheet1!C3 =[佐藤.xlsx]Sheet1!C4 =[鈴木.xlsx]Sheet1!C5 =[鈴木.xlsx]Sheet1!C6 =[山田.xlsx]Sheet1!C7 =[山田.xlsx]Sheet1!C8 数式の書き換えは、Replaceメソッドを使用していますが、一括で置換されてしまうため、 以下のような記述をしています。 Dim a, b, Row, RowEnd As Long Dim Emp As String Row = 2 For Row To RowEnd  Emp = Range("A" & Row ).Value  a = "=SUM(E:" & Row & "G:" & Row & ")" ←例です。  b = "=[" & Emp & ".xlsx]Sheet1!C" & Row  Range("C" & Row ).Select  Selection.Replace what:= a, Replacement:= b Next Row この記述では(2)になるように作ってしまっているのですが、ここから(1)のようにするにはどうすればよいかわかりません。。。 不躾で、大変申し訳ございませんが、どなたかヒントをくださいますでしょうか。 ご不明な点がございましたら回答致しますので、よろしくお願いします。

専門家に質問してみよう