Excel 参照行の削除でも可変しない関数

このQ&Aのポイント
  • Excelのシートにおいて、参照行の削除や追加が頻繁に行われる場合、特定のセルを常に参照する関数を作成する方法を紹介します。
  • 具体的には、シート2から特定の行を削除した際に、シート1の特定のセルが自動的に繰り上がるようにします。
  • これにより、関数の参照範囲が自動的に調整されるため、セルの追随性を確保することができます。
回答を見る
  • ベストアンサー

Excel 参照行の削除でも可変しない関数

Excel 参照行の削除でも可変しない関数 同じ形式で、数シートにわたり入力された文字をまとめた表を別のシート(シート1)に作成しています。 シート2以降の参照元データーは一定のルールで入力されていますが、削除や追加が頻繁に行われます。削除や追加の度にシート1B列・C列の関数が参照する行数が追随して可変しないようにしたいのですが可能でしょうか。 具体的には、シート2において6行目から9行目を削除した際に、シート1では「B2=みかん」/「C2=イチゴ」と繰り上がり、B行・C行は常に指定した行を参照するようにしたいと思っています。 <シート1>  A B     C 1 タイトル りんご  ばなな (← 3行目) 2 タイトル かき   なし   (← 8行目) 3 タイトル みかん イチゴ (←13行目) ・B列:「=IF(ISERROR('Sheet2'!$B3:$B3),"",'Sheet2'!$B3:$B3)」 ・C列:「=IF(ISERROR('Sheet2'!$D3:$D3),"",'Sheet2'!$D3:$D3)」 <シート2、3…> 参照したいセルは、B列とD列の3行目、8行目、13行目…と一定の間隔で入力されており、全てのシートにおいて同じ箇所に入力されています。 シートごとにカテゴリーの個数は(図A1:E4までを1カテゴリーと考えています)異なり、作業の度にカテゴリーの追加や削除が頻繁にあります。 うまく説明できているか不安ですが、良い方法を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

一番シンプルには,Shee1のB列に =IF(ISERROR(INDIRECT("'Sheet2'!B3")),"",INDIRECT("'Sheet2'!B3")) =IF(ISERROR(INDIRECT("'Sheet2'!B8")),"",INDIRECT("'Sheet2'!B8")) =IF(ISERROR(INDIRECT("'Sheet2'!B13")),"",INDIRECT("'Sheet2'!B13")) のように仕込んでおきます。 コピーしてつるつるっと増やせる式で回答しようかなとも思いましたが,セル範囲だけでなくシート自体も削除したり追加したりの編集にも耐える式を今はわざわざ書いていらっしゃるので,上記のようにコピー出来ないカタイ式で書いた方が適切と思います。 #参考 =IF(ISERROR(INDIRECT("'Sheet2'!A1")),"",INDEX(INDIRECT("'Sheet2'!B:B"),ROW(A1)*5-2)) #余談 あなたの式がいま「'Sheet2'!$B3:$B3」のような書きぶりになっているのは,シート名が「Sheet1」などのような言葉ではない事と,セル結合したセルをクリックして数式を書かせているためです。 あまり安全な表記ではないので,できるだけ上述で回答したような,結合したセル範囲の左上の1個のセルを参照する式で書くようになさってください。

15daifukufuku
質問者

お礼

早々の回答ありがとうございます。 まさにやりたかったことで、100%希望が叶いました。 >上記のようにコピー出来ないカタイ式で書いた方が適切と思います。 説明不足にもかかわらず、意図まで汲み取って頂きありがとうございます。 また、細かいご指摘も頂き大変勉強になりました。未熟なため日々格闘中ですが、今回教えていただいた「INDIRECT」も使いこなせるように頑張ります。 本当にありがとうございます。

関連するQ&A

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • Excelでどのような関数を使えばいいでしょうか。

    関数について教えて下さい。 Excelで、同じBook内に以下のような2シートがあるときに、 (Sheet1)    A   B    C   D     1  1  あい   12  りんご 2     うえ   34  みかん   3     おか   56  イチゴ 4  1  おか   78  イチゴ (Sheet2)    A   B    C    D     1     あい   11   りんご 2     うえ   34   みかん   3     おか   78   イチゴ 4     うえ   34   みかん  Sheet2のA列にSheet1にあるデータを入れたいのです。 まず、列B,C,Dのそれぞれのデータが横に3つ一致するものを探して 横3つのデータが同じなら、Sheet2のA列に、 Sheet1のA列にあるデータをシートBにも持ってくる、 というようなイメージです。 (Sheet2)    A   B    C    D     1     あい   11   りんご 2     うえ   34   みかん   3  1  おか   78   イチゴ 4     うえ   34   みかん      ↑このようにしたいのです。 A列にどのような関数を入れればいいのでしょう。 (A列にあるのは1か空欄かのどちらかです。 同じ3つの組み合わせで、1の場合と空欄の場合両方があることはありません。) また、Sheet2には、A列に1とついた行に色を付けたいのです。 例えば、上記の例ですと Sheet2のB3:D3のセルに色をつけたいのです。 関数や条件付書式などで、できますでしょうか。

  • エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ

    エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてください。 sheet1を印刷用ページ、sheet2をデータ用ページとしています。 sheet2は頻繁に追加や削除をするのですが、単純な =sheet1!A1 ですと、 sheet2に追加してもsheet1に追加されたデータが反映されない。 sheet2の行を1つでも削除するとsheet1のその行は#REF!というエラーに。 という状態です。下記内容に対応できる関数はあるでしょうか。 sheet2がこのような時 行  A あ B い C う D え sheet2Dに「お」を挿入すると sheet1がこのようになるように。 行  A あ B い C う D お E え また、B行を削除したらsheet1が 行  A あ B う C え となるように。 そして、可能ならばコピーのドラッグで複製できるようにしたいのですが・・・ 条件が色々ありますが、よろしくお願いします。

  • エクセルの参照セルがずれないようにしたい!

    エクセルの参照セルがずれないようにしたい! sheet1のC列にデータを入力しており、sheet2には A1に =IF(ISERROR(FINDB("○○",sheet1!C1,1))=FALSE,"△△","××") A2に =IF(ISERROR(FINDB("○○",sheet1!C2,1))=FALSE,"△△","××") A3に =IF(ISERROR(FINDB("○○",sheet1!C3,1))=FALSE,"△△","××") ・ ・ ・ ・ ・ ・ ・ ・ と、計算式を入れています。 sheet1で行の挿入をすると、sheet2の計算式が何故かずれてしまいます。「shhet1!C1,1のところの行番号」 これをずれないようにするにはどうしたらよいのでしょうか? =IF(ISERROR(FINDB("○○",Indirect(sheet1!C1),1))=FALSE,"△△","××")としても行番号はずれるし、期待する結果(sheet1のC列に○○という文字があればsheet2にA列に△△と表示したい。)が返ってきません。 説明が下手でわかりづらいとは思いますが、ご回答よろしくお願いします。

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • Excel 指定値だけ行コピー+値の移動

    Excel 2010でSheet1に次のような表があります。  A列  B列 C列 D列 E列  りんご 111  222 333 444  みかん 555  666  いちご 777  888 999   ・   ・   ・ これをマクロを使って、次のような形にしたいと思います。 1.C列以降の「数値が入った列数分だけ」行コピーをする。(最大9列まで)  (この例の場合りんごの行は3回、みかんの行は1回、いちごの行は2回) 2.次にC列以降の数値はコピーした行のB列に移動する。 マクロ実行後は次のようになります。  A列  B列  りんご 111  りんご 222  りんご 333  りんご 444  みかん 555  みかん 666  いちご 777  いちご 888  いちご 999   ・   ・   ・ 膨大な数のデータですので、マクロを使って処理したいと思っています。 どうぞよろしくお願いいたします。

  • Excelでこのようなときはどんな関数にすればよいでしょうか

    同じブック内で以下のような2シートがあるときに、 (シートA)    A   B    C    1  あい  123  りんご 2  うえ  456  みかん   3  おか  789  イチゴ (シートB)    A   B    C    1  あい  123  めろん 2  えお  456  みかん   3  おか  789  イチゴ 横に並んだ3項目が同じものにだけ、(シートB)のセルに色を付けたいのです。 (上記の例だと、3行目が3項目とも一致しているということです) 色は横3つのセルにつけられなければ、A列のセルだけでも構いません。 (上記の場合、色をつけたいのはシートB「おか」のセル) 列を増やすなど、処理用のデータが必要でも非表示にすればいいので その点は構いません。 関数や条件付書式などで、なんとかなりますでしょうか?

  • 重複する不要な行を消し、必要行のみを残したい

    下表のエクセルがあります。果物の種類はたくさん、4月から3月までの表で、みかんの2行目は1行目に5月のデータが追加されたものです。2行目があれば1行目はいらないので2行目だけを残し、1行目は非表示にして別シートに移したいのですが、うまい関数やマクロを教えてください。 A列  B列   C列  D列 果物   4月    5月   計 みかん   2         2 みかん   2     5   7 りんご   3        3 りんご   3     7   10 これを別シートに移す(不要行を削除して) 果物  4月  5月  計 みかん 2   5   7 りんご 3   7   10

  • Excelで異なる行の参照について

    よろしくお願いします。 EXCEL2003でシートに入力した際別のシートで参照したいのですが、どのように指定すればよいのかどなたかお教えください。参照するシートの1、2、3の部分は固定です。 (入力するシート) A  ○ B  △ C  □ (参照するシート) A ○ 1 A   2 A   3 B △ 1 B   2 B   3 C □ 1 C   2 C   3

  • エクセル2003での質問です

    エクセルの関数の質問です  例えばですが、シート1をデータシートして、A列に日付とし、B列にりんごの種類、C列にみかんの種類  D列にいちごの種類とした時に、シート2を検索シートとした場合、検索シートのA1に特定の日付を  入力した時、B1に特定の条件で表示出来る方法が知りたいです。  通常、はD1列(いちごの列は、データが全て入っています)の「いちご」を表示させ、  B列にりんごを入力した場合は「りんご、いちご」と表示させ  C列にみかんが入力された時は、「みかん」と表示させたいのです。   (B、C列は日付により「みかん」だけ、「りんご」だけとかあります) よろしくお願いします。

専門家に質問してみよう