【Excel】演算の式でセルの位置を変えたい

このQ&Aのポイント
  • 8%の消費税が導入されたので、家計簿の計算方法を変更したい。
  • 税込価格ではなく税抜き価格を入力し、自動的に8%の消費税を計算したい。
  • 特定のセルの値を参照して、別のセルに計算結果を表示したいが、正しく反映されない。どこを修正すれば良いか教えてください。
回答を見る
  • ベストアンサー

【Excel】演算の式でセルの位置を変えたい

このたび8%の消費税になったので、家計簿の方法を変更しなくてはなりません。 これまでは税込でしたが、まだ税抜きがあるところがありますので、ひとつひとつの商品に対し、数値(価格)を入力すれば自動的に8%で計算される方法です。 たとえばセルに100円と入力すれば、自動で108円となる。それを列全体に反映するようにしたいのです。 数式は以下のようですが、 =IF(A1="","",A1*1.08) この例だと「A1に入れたらB1に表示される」場合です。 しかし、セルH2に税抜きを入れてI2に税込を反映させたいのですが、この数式を =IF(I2="","",H2*1.08) このように変えてセルI2にコピペしたのですが、セルH2に100と入れても108と反映してくれません。 この場合、どこをどう変えたらよいでしょうか?

noname#206454
noname#206454

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

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

>このように変えてセルI2にコピペしたのですが なるほど。 最初は別のセルにA1を仮定した式をいれておいてそのセルの中でさらにIとHのセルに変更してから、I2にコピーしたわけですよね。 もう一度同じことをやってみてから、I2に入っている式を見てください。 全然別のセルを参照してませんか? Excelの式はセルの位置関係をコピーしても保ちます。 例えば、B2に =IF(A1="","",A1*1.08) と入れて、下にコピーしてみてください。 (ちなみに縦方向や横方向に連続してコピーする場合はセルの右下にカーソルを持っていき黒い十字に変わったところでクリックしたまま横や下に引っ張っていくとコピーされます。これをフィルコピーと言います。) そして、下にコピーした各セルの中の式を見てください。 A1だったところがA2やA3になってますね。 これは式を入れたセルの左横を参照するという位置関係を保ちながらコピーされているからです。 つまり、最初に入れたセルから見たI2やH2の位置関係がそのまま維持されてコピーされたので貼り付けた後はI2セルから見た同じ位置関係のセルを参照することになるのです。 これを相対参照といいます。 これと反対にどのセルから参照しても同じセルを指定することを絶対参照と言い、セルアドレスに$をつけます。 このあたりはご自分で調べて勉強してみてください。

noname#206454
質問者

補足

ご回答ありがとうございます。 ご説明、とてもわかりやすいです。 試してみました。 式を示すところは反映させる場所、 具体的な指令は式で指令されたセルというわけですね。 Excelって面白いですね。 ところで、これをいちいちコピーするのではなく、H列全体など指定することはできますか?もしできるのでしたら教えてください。

その他の回答 (4)

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

>H列全体など指定することはできますか?もしできるのでしたら教えてください。 うん…そうですね。 ちょっと意図がわかりかねるのですが、いちいち数式を下にコピーしいくのは面倒だし今後も入力し続けていくのだからH列全部に式を入れておくことは可能ですか? という内容の質問と判断します。 結論から言うと列全体に式を入れるのはできます。 ですが、今お使いのExcelのバージョンがわかりませんが2003以前なら1列に65536個、2007以降ですと1048576個のセルがあります。 これだけのセルを今後お使いになりますか? また、簡単な数式とはいえ式を入れることによりメモリを消費することになりますので使わない範囲にまで式を入れておくことはお勧めしません。 できれば、このくらい使うかな~という程度の範囲でコピーして使用していかれるのがいいかと思います。

noname#206454
質問者

補足

再度のご回答ありがとうございます。 バージョンは2007です。そうですか、メモリを消費するのですね。それならば、必要な範囲だけコピーすることしました。 でも一応できるということで、興味がわいてきました。式をぜひ教えてください!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! >セルH2に税抜きを入れてI2に税込を反映させたいのですが、この数式を >=IF(I2="","",H2*1.08) これでは「循環参照」になってしまいますね! 循環参照とは自分のセルを参照してしまいますので、 エラーとまでは言いませんが、極力避けるべきです。 質問をそのまま数式にするとI2セルに入れる数式は、おそらく =IF(H2="","",H2*1.08) となるのではないでしょうか?m(_ _)m

noname#206454
質問者

お礼

ご回答ありがとうございます。 他の回答もいただきまして、 =IF(H2="","",H2*1.08)という式だとわかりました。 これは回答No.3の方のご回答のように相対参照ということなのですね。 自分がやったことが循環参照ということなのですね。私の試したことは結果的に間違ってはいなかったのですね(笑)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

I2セルに、 =IF(H2="","",H2*1.08) と記入して、 下にドラッグコピーします。

noname#206454
質問者

お礼

補足回答ありがとうございます!

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

=IF(H2="","",H2*1.08)

noname#206454
質問者

お礼

ご回答ありがとうございます。 この方法でも試してみたのですが、なぜだめだったのだろう… でも、おかげさまでできました。こういうの、関数っていうのですよね?難しそうで遠慮してましたが、おもしろいですね。 H2*1.08はH2を8%掛けるという意味だということだけはわかりますが、それぞれどのような言語の意味があるのか気になりました。

関連するQ&A

  • 【関数】セル全体に式をコピーしたい場合

    例えばセルH2に100(本体価格)、セルI2にH2の8%を反映させたい場合の式は以下ですが =IF(H2="","",INT(H2*1.08)) I列全てに反映させたいのですが、I列全てを選択したあと、この式を入力(して列全体に反映)するにはどうしたらよいのでしょうか?

  • エクセル IF関数で2つの条件設定をするにはどうすればいいでしょうか。

    エクセル IF関数で2つの条件設定をしたいと思っています。A1のセルに入力規則を設定していて、税込か税抜を選択出来る様にしています。 もしA1が税込の時はA2を0、もしA1が税抜の場合はB1*0.05(B1の5%)と表示される様にしたいと思ってます。 A2のセル設定を=IF(A1="税込",0)までは出来たのですが、その先どうやっていいのか分かりません。 ご指導宜しくお願い致します。

  • EXCELのセルや文字色の反映

    例えばA1のセルに入力した値をB1に自動的に反映したい場合はB1に=A1と入力すれば反映されますが、A1のセルの色や文字色を変更したらB1に自動的に反映される方法がありましたら教えてください。

  • エクセルで片方のセルに入力したら、もう片方を空白にしたい。

    請求書のフォーマットを作成しています。  A(タイトル)B(数量)C(税抜価格)D(税込価格)E(合計) 1  ○○     2    1000          2100 2  ○○     2            1050  2100 3  ○○     2                  2100 1の場合ですと、Eのセルを「2100」にしようと思ったら  E=セルC*1.05*セルBになり、 2の場合ですと、Eのセルを「2100」にしようと思ったら  E=セルD*セルBになります。 そこで本題なのですが、 私は3のように、税抜価格をセルCに入力、もしくは、税込価格をセルDに入力。そのどちらを行ってもセルEに「2100」という計算結果を出したいのですが・・・ (1)そのようにする場合、セルEにはどのような数式を入れればよいのでしょうか? (2)その際に、もしセルCに「1000」を入れたら、セルDは空白に、セルDに「1050」を入れたら、セルCは空白になるようにしたいのです(例えばセルCに「1000」が入力されている状態で、セルDに「1050」を入れると、セルCの「1000」が消えるような状態)そのようにするにはどうすればよいのでしょうか? ご教授いただければ幸いです。

  • Excelの入力式について

    Excelの入力式について教えてください。 たとえば、A1セル~F1セルに数値が入っていて、G1セルA1+B1の値、H列にC1+D1の値 I列にE1+F1の値としたい場合、 G1セルに数式を入れてH列にコピーするとB1+C1になってしまいます。 上手くやる方法はないのでしょうか。 1列ずつわざわざ空白列を作るのは嫌ですし、たくさんあったら数式を打ち込むのも大変です。。。

  • 『FLASE』のエラーが出た時そのセルを空白に

    Excelの初心者です。下記のようにする為に、 I列の3行目に『蜜柑』を入力すると数式が入っているセルに『1』が入力される。 I列の3行目に『林檎』を入力すると数式が入っているセルに『1』を入力される。 I列の3行目に『葡萄』を入力すると数式が入っているセルに『0』を入力される。 I列の3行目に『無花果』を入力すると数式が入っているセルは空白のままとする。 I列の3行目が空白の時は、数式が入っているセルも空白のままとする。 =IF(I3="蜜柑",1,IF(I3="林檎",1,IF(I3="葡萄",0,IF(I3="無花果","",IF(I3="","")))))の式を考えましたが、 上記以外の文字をI列に入力した場合は、『FLASE』の文字が表示されてしまいます。 数式を入力した欄に『FLASE』のエラーが出た時は、空白にしたいのですが、どのように数式を組み合わせたら良いのか分からず大変困っています。 お分かりでしたら、ご教示をお願い出来ますと大変助かります。 以上 どうぞよろしくお願い致します。

  • エクセルで選んだセルによって文章を反映させる

    たびたびお世話になります。 エクセルでシート1にA,B,C,Dの4個のセルがあり このどれかに会社名又は個人名が入ります。 (必ず一つです) 毎回コピペでシート2のEのセルに反映させてますが どれかに入力したら自動的にシート2に反映させる方法は ないでしょうか? おわかりになる方ご教授下さい。

  • 至急教えてください!エクセルのセルの#DIV/0!を印刷時には空白で印刷できる方法

    仕事で,エクセルで表を作成してみました。各セルには数式が入力してあります。 例えば,A1=AVERAGE(B1:H1)と入力してあったとします。 ここで,B1~H1のセルに何かしらの数字が入力されていれば,A1のセルには数字が反映されますよね? このとき,B1~H1のセルに何の数字も入力しないと,A1のセルには#DIV/0!と出ると思うのですが,印刷時に,この数式だけは残しつつ(記憶させつつ),#DIV/0!を空白にする方法はございますか? 0にしてしまうには,B1~H1のどこかのセルに0を入力すればいいのはわかるのですが,印刷時に0と表示されてしまうと,仕事上,違う意味になってしまうので,0ではなく空白で表示したいのです。 表の中に#DIV/0!が多すぎて見づらいのです。。。 何か方法をご存知の方がいらっしゃいましたら,教えてください。よろしくお願いしますm(__)m

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • 【Excel】数式をボタン登録できますか?

    Excel2003を使用しています。 ある数式をボタンに登録して、必要なときにだけボタンを押すことで登録した数式を呼び出して、セルに入力することはできるでしょうか? 現在はH列とI列に下記の数式を入力しているのですが、H列、I列に直接数値を上書きすることも少なくないので、必要なときにだけボタンを押して下記の数式を入力できたら、このシート自体もスッキリするのではないかと思い、質問させていただきました。  H列→[=IF($E8="累 計",SUMIF($E$8:$E8,"月 計",H$8:H8),"")]  I列→[=IF($E8="累 計",SUMIF($E$8:$E8,"月 計",I$8:I8),"")] マクロを使用することで可能であれば、参考までにコードを記載していただけると助かります。 よろしくお願いします。

専門家に質問してみよう