• 締切済み

数式をずれないようにする方法

こんにちは。 エクセル2010を使用しています。 エクセルして数式を使用して表を作成をしているのですが、どうしても縦行の挿入や削除をすると数式がずれてしまってエラーになってしまいます。 sheet1に入っている数式は、セルD6に「=IF(sheet2!F4,"○","")」と入っています。 sheet2に入っているD4~K4の入っているセルを削除・挿入をするとsheet1の数式がエラーになってしまいます。 なので$マークを入れたりもするのですがうまくいきません。 申し訳ありませんが、挿入・削除をしてもずれない方法とエラーにならない方法をどなたかご存知でしたら教えていただけないでしょうか? 宜しくお願い致します。

noname#213386
noname#213386

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.3

考え方を変えて、それはsheet2にあるD4~K4の入っているセルを削除・挿入するのがいけないのです。 特に削除です。 この場合sheet2!D4~K4を一旦別なセルに、例えばD10:K10にコピーをして、D10:K10で不要な削除をしたデータを作り、その結果をもとのD4~K4に「形式を指定してコピー、値」で貼り付ければ元の式は影響を受けません。 もっともD4~K4はデータだけで式は含まない前提ですが。 それと表を作る場合に式が相互に参照するセル同士は、できる限り同じ列、行なら同じ行同士(A1なら=A10,3行目ならA3には=D3)で参照しあうことです。これが斜めの関係、例えばA3に =B5などの斜めに参照するような式を作ると削除すると思いもかけない影響がでます。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

あー、そういったことは最初に提示していただくと手間が省けますね・・・ 後、どちらにドラッグするのかも・・・ D6セルからフィルコピーで間違いないんですよね? 結合とかないですね? 下にコピーと考えて・・・ =IF(INDIRECT("Sheet2!F"&ROW()-2),"○","") で如何でしょうか?

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.1

=IF(INDIRECT("Sheet2!F4"),"○","") とかで如何ですか? でも基本的には削除しないような表の作成方法を考えた方がいいですよ。 表が小さくてよく見えないので詳しくはわかりませんが。

noname#213386
質問者

補足

お忙しい中ありがとうございます。 上記の数式ですれば数式はずれなくなったのですが、ドラッグして数式を使うことができないのでしょうか? 現状、ドラッグをしたら他のセルも同じ数式になってしまうので、数式をドラッグする方法があれば教えていただきたいです。

関連するQ&A

  • Excel 数式の保護をしたセルを保護のままコピーする方法

    エクセルで3列(A:C)4行(1:7)表を作っています。 7行目に数式が入っていてA7:C7を保護しています。 その表を同じシート内に保護を残したまま何度もコピーしたいのですが方法はありますか? コピーした表に行を挿入したりすることも削除したりすることもあります。 よろしくお願いします。

  • 数式のコピーのズレを直す方法、マクロ、関数のいずれかの方法を教えてください!!

    数式のコピーのズレを直す方法、マクロ、関数のいずれかの方法を教えてください!! Sheet1には、計算結果が表示されるようにしてあります。 その結果の数式は、 =IF(Sheet2!A1="","",IF(Sheet2!A1<2,"<",ROUND(Sheet2!A1,2))) と、入っています。 計算結果の表示上、「Sheet1 A1とA2」の2行のセルを結合して1行にしてあって、対して「Sheet2はA1」の1行です。 これをつぎの「Sheet1 A2」に数式をコピペしていくと、 =IF(Sheet2!A2="","",IF(Sheet2!A2<2,"<",ROUND(Sheet2!A2,2))) と、していきたいのですが、 =IF(Sheet2!A3="","",IF(Sheet2!A3<2,"<",ROUND(Sheet2!A3,2))) となってズレてしまいます。 これを300行ほど作らなければならないのです。 数式、1行のセルを2行の結合したセルにコピペできる方法、もしくはマクロや他の関数があれば教えていただきたいです。 わかりにくくて申し訳ありませんが、お願いします。

  • Excelの数式の自動変更について

    excelの数式で困っています。 以下のようなシート1があります。 シート1 │A B C ─┼──── 1│a b c 2│d e f 3│g h i シート2で、以下の数式でシート1の値"e"を参照しているセルがあります。 =シート1!B2 この式では、シート1に行や列を挿入しても、"e"の値があるセルを参照したままになるように、数式が自動的に変更されます。 そうではなく、以下の条件を満たすような数式に変更したいと思っています。 ・1行と2行の間に行を挿入  →数式が自動変更され、"e"を参照したままにする ・A列とB列の間に列を挿入  →数式は変更されず、元々"e"があった場所を参照する 何かよい方法はないでしょうか? 回答よろしくお願いいたします。

  • エクセルの数式のみ保護し、他の作業はできるようにし

    顧客管理の表があります。 次回の予定日を自動で計算する為の数式を入れたセル(列)があります。 数式の保護をするのは「シートの保護」でできるのは知っているのですが、今回のこの表は管理しやすいようにあいうえお順で作成しているので、新たな顧客が増えた場合は表の途中に行を挿入して追加しています。 「シートの保護」をした場合、ただ行を挿入することはできるのですが、そうすると数式が入っているはずのセルに数式が入っていません。 できれば、顧客情報の入っていない(数式だけは入ってる)行を切り取り(コピー)してからの挿入ができ、なおかつ数式も保護したいのですが、この場合はどのようにすればよいでしょうか。 宜しくお願いします。

  • 配列数式で行を増やすためには

    シート1の一覧表からシート2の配列数式の入った表へある条件のものを抽出する作業を行っています。 シート2で行を増やそうと思い、配列数式の入ったセルを選択→解除→行を増やす→再度配列数式へ、という作業を行いました。 しかし、#N/Aというエラー表示がでます。シート1の表と指定範囲は変わっていないのにエラー表示はなぜ出るのでしょうか。

  • ExcelVBAの配列変数で一括でセルに数式を挿入する方法

    ExcelVBAの配列変数で一括でセルに数式を挿入する方法 ExcelVBAでTEST1シートを参照して、TEST2シートに数式を貼り付けたいと思っています。 例えばTEST2シートのA1セルには、TEST1シートのA1を参照する数式 =IF('TEST1'!A1="","",'TEST1'!A1))を挿入、 TEST2シートのA2セルには、TEST1シートのA2を参照する数式 =IF('TEST1'!A2="","",'TEST1'!A2))を挿入、 それをA1セルからZ10セルまで同様に数式を挿入したいと思っています。 以下のように配列変数を用いて、一括で挿入すると数式ではなく、文字が入ってしまいます。 Sheets("TEST2").Cells(1, 1).Resize(10, 26).Formula = SUSHIKI ※SUSHIKI←数式を入れた配列 どのような記述を行えば、数式を貼り付けることができるができるでしょうか。 できればOffsetを使用した形で作成したいです。 どうかご教授お願い致します。

  • 数式を奇数行と偶数行を別々に貼り付け!

    数式を奇数行と偶数行を別々に張り付け の方法ってあるんですか?? Sheet1で計算表をつくっています。 B列~列Hまで1行と2行を結合さしていて、I列~X列は1行、2行別々です。 I列~X列に1行2行別々の数式をいれたいんです。 偶数行に =IF(Sheet2!AC52="","",IF(Sheet2!AC52<2,"<",ROUND(Sheet2!AC52,2))) として、2行・4行・6行・・・・ 奇数行に =IF(Sheet2!D52="","",IF(Sheet2!D52<Sheet2!$B52,Sheet2!$A52,ROUND(Sheet2!D52,4))) として、3行・5行・7行・・・・ でいう感じでしていきたいんですが、関数はありますか?? 関数以外でも方法があれば教えてください。 お願いします。

  • エクセルでのエラー表示について

    エクセルのシートで、ある行からその上までと違う数式を入れたところ、!マークのエラー表示が出てきて、「このセルにある数式がセル周辺の数式と異なっています」となってしまいます。このようなエラーがいちいち全部のセルに出てきてしまっているのがうっとうしくてたまりません。数式の矛盾に対するエラーは出てきて欲しいのですが、上記のようなエラーを出さないような方法はあるのでしょうか?教えてください。どうぞよろしくお願いします。

  • Excel 数式のコピーについて

    一般的な売上の合計を求める表で、行を挿入するとその行の数値も加算され縦計の合計も 数式のコピーで自動的に求められるようになってますが、 列を挿入して売上店を増やしたらその店の合計は自動的には関数が入ってなく、関数のコピーを しなければいけなません。 行の挿入と列の挿入では違ってくるのですか? 行ができるので列もできるのか?と思ってました。よろしくお願いします。   A社D社B社    10 30 20    20 20 30 合計30    50    (D社を挿入したら縦計が自動的に入ると思ってました・・・)

  • 数式をいっぺんにコピーするには。。。。

    エクセル初心者です。 数式を8000行位縦にコピーしたいのですが セルを下にドラッグするととても時間がかかってしまいます。 ドラッグではなくて早く数式をコピーする方法があればどうぞ教えてください。 よろしくお願いいたします。

専門家に質問してみよう