• ベストアンサー

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

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

  • HGK
  • お礼率69% (138/199)

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

  • ベストアンサー
  • himehime
  • ベストアンサー率37% (133/354)
回答No.4

えーと、やりたいことがよくわかっていないんですが、出納帳簿なんですよね? 多分、ISBLANK関数でいけると思います。 (ISBLANK関数の説明は、ヘルプみてください。) 式を二つ以上作る必要出ると思いますが。 えーと、すみません。私が使っている出納簿の式、そのままなんですが。 B列に日付、C列に曜日、F列に、入金(繰越金でもいけると思います。)G列に出勤が入っています。 で、その項目名は2行目から始まっています。 で、H3に、残高という項目名があって、 H4に、以下の式を入れてあります。 =IF(ISBLANK(B3)=FALSE,F4-G4,"") (項目名が入っているところですからね。) で、H5とH6には、別の式入れてあります。 H5には、 =IF(ISBLANK(B3)=FALSE,H4+F5-G5,"") H6には、 =IF(ISBLANK(B4)=FALSE,H5+F6-G6,"") と、してあります。 (つまり、B4からは項目が計算対象にならないので。) そうすれば、相対参照のまま、H6からは、オートフィル機能使えますよ。 多分、ご質問自体の式は、後者二つの式でいけると思いますので、 あとは、対象セルだけ変えていただければ、多分、出来ると思います。

HGK
質問者

お礼

NO.3の方がいっているようなことを質問したかったのですが、うまく表現できなくて申し訳ありませんでした。詳細な例を提示していただいてありがとうございました。

その他の回答 (4)

回答No.5

回答補足に対して再度回答します。 セルC1に「10000」を入力。 セルC1に「=IF(AND(A2="",B2=""),"",A2-+B2+C1)」を入力。 セルC2からC?までフィルハンドルで入力。 後セルA2、B2とそれ以降入力します。

HGK
質問者

お礼

NO.3の方がいっているようなことを質問したかったのですが、うまく表現できなくて申し訳ありませんでした。回答ありがとうございました。

回答No.3

「A列またはB列のセル内容が変化したら、C列の同一行に所定の式をペースト する。C列には事前にいかなる式も入れておく必要が無いこと。」ですね。 そういうのはVBAで処理しましょう。私はVBAが苦手なんで例を示せませんが、 「セル内容が変わったよ」ってイベントをフックしてどのセルだったか確認 し、AかBの列なら処理ルーチンに進んで…といった流れで行けたと思います。

HGK
質問者

お礼

質問したかった内容を理解していただいてありがとうございます。勉強します。

回答No.2

>C1 のセルに●●+▲▲ という数式を入力しておく ●●+▲▲をA1+B1という数式とします。 >B2に何か入力された場合、C1の数式を複写(相対参照)してC2に計算結果を出す。 というようにしたい。 ここの意味がよくわかりません。B2に入力された値とC1の数式の関係です。 とりあえずB2とC1の数式をたすことにします。これをC2に表示する。 C1セル→=A1+B1  C2セル→=IF(B2=””,””,B2+C1) B2が空欄ならC2も空欄にする。        〈””,””〉 何か入力したらそれをどのように?(今回は足し算)〈B2+C1〉 というように入力してください。

HGK
質問者

補足

回答ありがとうございます。No1に補足しましたのでよろしければお願いします。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

下記のやり方ではダメでしょうか。少し頭が混乱しているのですが、間違っていればご指摘下さい。 まずC1の式(C1セルにだけ、If文を付けない、裸の演算式のみを入れる)をフィルハンドルでC2に複写する。そこでC2にセットされた式をメモしておく。それを仮に●とする。そしてC2セルの式を「=If(b2=””,””,◎)」と入力し直す時、◎には●の先頭の「=」を省いたものを入力する。そして適当数行分をC列内下にフィルハンドルで複写しておく。C3以下は表面的に式のセットは目に見えない。

HGK
質問者

補足

すいません。当方も混乱しておりまして・・・。長くなりますがお付き合いください。はっきりいって簡単な出納帳なんです。 仮にC1に繰り越し段高の10000 を入力する。 A列は収入、B列は支出です。 C2のセルに =C1+A2-B2 といれてフィルハンドルで伸ばしておけば何の問題も無い。 ここまではわかっているのですが、C3には =C2+A3-B3、C4には=C3+A4B4・・・ が当然はいっています。 さてここからなのですが、A2に収入1000を入力すれば、C3は11000なります。(C2には=C1+A2-B2が入っている)しかしC3以下にフィルハンドルは使っていません。次にB3に支出1500を入力。ここではもちろんC3は空欄です。ここでC3のセルに、9500と入力させ、なおかつC4以下のC列には何の数式も入らないようにしたいのです。 だんだんこの質問に意味があるのかもわからなくなりましたがよろしくお願いします。 変なこだわりがあるものですから・・・。

関連するQ&A

  • エクセルの式の複写と相対参照について

    くだらない質問で申し訳ありませんが、 困っております。力をお貸しください。 http://www.kenzo30.com/ex_kisosyo/ex_ks_syokyu2.htm#相対参照による数式のコピー 本来ならばこのように数式式が複写され、数値も複写先のセルに合わせて自動的に計算されるはずなのですが、 なぜかこの表で言うとE4の44,625がE9まで入力されてしまいます。 数式はちゃんと複写されるのですが数値が複写元のを単にコピーするだけなのです。 特に設定をいじったわけでもないのになぜでしょうか? 申し訳ありませんが助言おねがいいたします。

  • 相対参照と絶対参照の使い分け

    とあるセルに数式を入れて率を求めるときに、相対参照を使って求めた後、 オートフィルを使って表を完成させるとき、他のセルに『#DIV/0 !』が出てきます。 ならば最初から絶対参照を使った方がトラブルなくすすめられるんじゃないかと 思うのですが、では相対参照は何のためにあるのでしょう・・・? また、これは相対参照でいけるとかこれは絶対参照じゃないと表が完成されない などの見分けがつきません。どうしたらいいのでしょうか。 よろしくお願いします。

  • エクセルの「IF+VLOOKUP」に関してのよくある問題で、意味のわからない相対参照があります

    「1.セル【C18】にセル【B18】の「商品コード」に対応する「商品名」を返す数式を入力して下さい。「商品一覧」の表を参照すること。 次に、「商品コード」が入力されていない場合は、「商品名」にエラーが表示されないように数式を修正して下さい。(シートに表があり、IF+VLOOKUPを使う問題です) 2.セル【C18】の数式をもとに請求書の表を完成させて下さい」(←「【C18】の下の行も同じように、商品コードから商品名を表示させれるように完成させなさい」っていう問題です) 上記のような問題があったのですが、 数式を入力して下にオートフィルして 完成させたのですが、【問題の解答】を見た限りでは 「セル【C18】を「=IF($B18="","",VLOOKUP($B18,$H$18:$J$29,2,FALSE))」と修正する」 と書いてありました。 ですが、数式の「$B18」の部分で「列を固定にする」 意味はあるのでしょうか? 「$」はなくてもちゃんと機能してますし、 表も完成してるように思うのですが・・・ あと、これは商品コードが空白の場合にはエラーが 出ないのでいいのですが、商品コードとは関係ない 文字列も入れた場合(間違った文字列を入れた場合)に エラーがでないようにする事もできますでしょうか?

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

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

  • 複数のエクセル相対参照を絶対参照に一発変換したい。

    一つの相対参照を例えば横方向にいくつか複写して、 複写された各セルの相対参照を、絶対参照化する時 各セルにポイントをおいて「F4」プッシュで処理 しています。これを範囲指定して一度に変換する方法があれば大変助かるのですが。 良い方法があったら教えて下さい。

  • Excel 絶対参照と相対参照の違い。

    VLOOKUP関数を用いて数式を列に作ります。 範囲が違うシートのセルを指定します。 その場合、テキストでいくと相対参照にしなくてはならないのですがなぜでしょう? 相対参照と絶対参照の違いがExcelのヘルプで見ても理解できません。 わかる方、教えてください。

  • エクセルで、オートフィルで、~個おきに参照するなどの数式を簡単に入力する方法について

    エクセルのオートフィルの仕方で、分からない点があり、お教え下さい。例えば、A1からZ1までのセルに、ランダムな数値がはいっているとします。A2に”=A1”、B2に”=C1”、C2に”=E1”、D2に”=G1”などのセル参照の数式をいれるときは、A2に”=A1”と入力した後、オートフィルのように簡単に連続して1個おきの次のセル参照(B2に”=C1”、C2に”=E1”・・・)を入力する方法はあるのでしょうか。つまり”~個おき”のセル参照を連続入力(オートフィル)する方法をお教えいただけないでしょうか。宜しくお願いします。

  • マクロの相対参照、絶対参照

    マクロを使い始めたばかりなんですけど 相対参照と絶対参照で困ってます 任意のセル(A1とする)を選択しておいてマクロの開始 B1のセルをコピー 最初のセル(A1)に貼り付け としたいんですけど B1のセルをコピー、を絶対参照にして 最初のセル(A1)に貼り付け、を相対参照にしてマクロに記録しました そのマクロをC1で使うと A1のセルにB1のセルを貼り付けてしまいます C1でマクロを使えばB1のセルをC1に貼り付けるようにはどうすればいいのでしょう 分かりにくい説明で申し訳ありません

  • エクセルで計算できない・・・

    初歩的な質問で申し訳ありませんが、困っておりますので教えて下さい。 エクセルで、計算式がフィルハンドルで効かなくなりました。 例えば、セルA1に「1」、セルA2に「2」、セルA3に「3」と入力し セルB1に「4」、セルB2に「5」、セルB3に「6」と入力します。 次にセルC1に「=SUM(A1:B1)」の計算式を入れると「5」と計算されますが、その後セルC1からセルC3までフィルハンドルを使うとセルC2、セルC3にも同じ計算がされて、セルC2「7」、セルC3「9」となるはずですが…セルC2、セルC3とも、セルC1と同じ「5」になってしまいます。 その場合も、セルC2には「=SUM(A2:B2)」、セルC3には「=SUM(A3:B3)」と、求めたい計算式は入っています。 今まで何ともなく使っていたエクセルのファイルがおかしいのです。 新規作成したエクセルファイルは何ともありません。 なぜこのような症状が出るのでしょう? 未熟者ですので解り易く教えていただけると助かります。 宜しくお願いいたします。

  • エクセルの数式の作り方を教えて下さい。

    エクセルの表計算の数式の作り方を教えて下さい。 例えば、A1+B1=C1 の場合 C1のセルに=A1+B1と入力する所までは分かるのですが、A1に入力してB1には入力しなかった場合C1にはA1の数値が入りますが、A1かB1のどちらか一方が入力されてない場合はC1のセルを空欄にする計算式を教えて下さい。

専門家に質問してみよう