• 締切済み

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

エクセルを使って営業の売上に関する表を作っていまして、 クライアントごとにシートを作り、そして「集計」という一つのシートに 各クライアントの数字の状況をまとめようとしています。 ここで、入力がしやすいように =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」を参照してしまいます。 どうにかして複数の相対参照を一緒に変更させることはできないものでしょうか!? よろしくお願い致します!!

みんなの回答

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

>D30の部分の数字も一緒に変えることはできないのでしょうか!? =IF(ISBLANK($A9),"",INDIRECT($A9&"!D"&ROW(A30))) >また、今のままでは、例えば「○○株式会社」シートで行を挿入して >参照するべきセルが「D31」になったとしても、 >変わらず「D30」を参照してしまいます。 > >どうにかして複数の相対参照を一緒に変更させることはできないものでしょうか!? これは一般機能では無理だと思います。

関連するQ&A

  • 「別のシートを参照し、空だったら」の計算式をコピーした場合

    お世話になります。 タイトルの通りなんですが、ちょっと込み入った事情があります。 まず、条件として 参照するファイルとシートのセル(A1)を  '[([A.xls]B!A1]' としています。 これが空の場合、0(ゼロ)が表示されてしまうので  A1 =IF(ISBLANK('[([A.xls]B!A1]'),"") と、ここまでは出来ました。 これをコピーしたいのですが、自動的に  A1 =IF(ISBLANK('[([A.xls]B!A1]'),"")  A2 =IF(ISBLANK('[([A.xls]B!A3]'),"")  A3 =IF(ISBLANK('[([A.xls]B!A5]'),"") と、参照するセルを1つ飛ばしにしたいのでが、出来ません。 何か方法はあるでしょうか? 宜しくお願いします。

  • 相対参照(Excel2002)

    シート間で相対参照って出来ますか?例えば Sheet2のA1が、 =Sheet1!A1+1 のとき、Sheet3のA1にコピーしても内容は変わりません。これを =Sheet2!A1+1 になるようにしたいのです。 現在は、コピー後に置換で修正しています。 多数のシート間参照を使った同じ形式の表を、複数のシートで使うので、出来るだけ簡単に出来る方法を探しています。知っている方教えてください。

  • エクセルでシート名を連続で参照するには

     エクセルの「1」「2」「3」…のように連続するシートのそれぞれのシートにあるセルA1を、同じファイル上の「集計」シートのA1、A2、A3…のように、下へと参照したいのです。  このとき、「集計」シートのA1セルには、「='1'!$A$1」を入力しますが、その後このセルからスタートして、オートフィルで下方向へ参照したいのですが、実際は「='1'!$A$1」「='1'!$A$1」…と「1」シートのセルが参照されます。  オートフィルなどを用いて「集計」シートのA1から下方向へ、「='1'!$A$1」「='2'!$A$1」「='3'!$A$1」…のように満たしていく場合、どのようにしたらいいでしょうか。  手入力すればいいのですが、数が多くてとても大変です。どなたか、簡単に満たす方法をお教えください。よろしくお願い申し上げます。

  • Excel関数 シート内の全ての相対参照の計算式をいっぺんに絶対参照に変えたい!

    こんにちは。Excel関数についてお聞き致します。どうか教えてください。 仕事でたくさんのデータを扱っているのですが、 月ごとの売上げデータの累計表や集計結果などを利用して報告書を作成しています。 各月の売上げシートを元に作成した累計表や統合表を作った後で、数式を相対参照にしてしまったことに気づきました。 累計表のある一つのセルに「=SUM(1月売上げ!A1,2月売上げ!C1)」という計算式があるとします。そのセルの他にも参照しているセル番号は異なっているが同じ計算式が入力されています。 私は、上記の計算式を「=SUM(1月売上げ!$A$1,2月売上げ!$C$1)」という絶対参照に変えたいのです。他のセルにも同様に絶対参照記号をつけたいのです。 ところが、検索置換しようとしてもできないし、 ある一つのセルを絶対参照に変えてそれを他の全ての計算式にもオートフィルで反映させようと思っても、できません。絶対参照のマークが就いていない相対参照のときは、オートフィルで他のセルにも反映できるのですが、絶対参照の計算式を他のセルにも反映させようとしてオートフィルを使うと、全てが全く同じ計算式になってしまいます。 絶対参照なので、当たり前なのかもしれませんが、、 少々言っている意味が分かりにくいかもしれませんが、、 相対参照を絶対参照に変える作業は、一つ一つ手入力および一つ一つセルをクリックして絶対参照にしたい数式の部分にカーソルをもっていきF4を押す事でしか、絶対参照にできないのでしょうか(一つ一つ手作業でしか絶対参照に変えられないのでしょうか?)? 書店でExcelの関数やVBAの本にいくつかざっと目を通したのですが、いっぺんに絶対参照に変える方法はありませんでした。

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

    現在、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ケース分作成し、使用シートを選択時にシートの表示・非表示を 切り替えるしかないと今は、考えています。 知恵をお貸し頂ければと思います。

  • エクセルの相対参照について

    お世話になります。 以下の例について教えてください。 C1 のセルに●●+▲▲ という数式を入力しておく B2 が空欄なら C2 は空欄にする。 B2 に何か入力された場合、C1の数式を複写(相対参照)してC2 に計算結果を出す。 というようにしたい。 この場合、C2 のセルの =IF(B2="","",■■■■)   ■■■■にはどう入力すればよいでしょうか? 毎回データ数が違うので、フィルハンドル使って伸ばさなくてもいいようにしたいのです。よろしくお願いします。

  • Excelでのセルの参照について

    Excel2000を使っています。 例えば Sheet2のA1に=IF(ISBLANK(Sheet1!A1),"",VLOOKUP(Sheet1!A1,Sheet3!$A$1:$B$100,2,0)) を入れてあります。 これをA列奇数行だけにコピーすると、検索するセルも参照するセルも奇数行になってしまいます。 少数だったら行数を直せばよいのですが、たくさんあって手に負えません。 何かいい方法はありませんか? 助けてください。

  • 複数のシートのセル参照について

    Excelで複数のsheetのセル参照についてお伺いします。 たとえばsheetが1から50まであるとします。 sheet1のA1のセルには、sheet2のA1のセル参照、 sheet1のA2のセルには、sheet3のA1のセル参照、    ↓ sheet1のA49のセルには、sheet50のA1のセル参照、 といった複数のシートのセル参照を行いたいと思います。 sheet1のA1のセルに、sheet2のA1のセル参照の値を入力して、フィルハンドルでドラッグしても連続したデータができません。 簡単な操作で、複数のシートのセル参照をするにはどうしたらよいでしょうか。 よろしくお願いいたします。

  • エクセル2003Isblank関数を使用して作った複数のセルを合計したい

    仮に、 C3セルに以下の関数式を入れたとします。 =If(isblank(A3),’’,A3xB3 A3に入力しなければ、C3はブランクになります。 しかしさらに同様の数式を 仮にD3に =If(isblank(E3),’’,E3xF3 と入力し、 最後にC3とD3を合計するためにG3に=C3+D3 と入力すると、G3はVALUE!になってしまいます。 G3に計算通りに数字が入るようにするためには どのような数式を入力していけばよいのでしょうか。 教えてください。 お願いします。

  • 参照シート番号をオートフィルしたい

    初めて質問します。 どう調べても理解力が足りないのか、解決できませんでした。 下記を縦、横のセルにたくさん入力したいのですが =IF(ISBLANK('データ 30'!$L$7),"",'データ 30'!$L$7) 参照セルは全て異なります。 この中で、『データ ○』(○は連番)というシートがたくさんあります。 この連番のところをどうにかしてオートフィルを使い連番記入したいのですが、どのように入力したらいいのでしょうか? どなたか、教えてください。おねがいします。

専門家に質問してみよう