• ベストアンサー

「$」の付け方について

下記のグラフの数式について教えて下さい。%部分は割引率です。 -----D----|----E-----F-----G----| 5|--定価--|---10%---20%---30%--- 6|\7,000---| 7|\12,000--| 8|\13,000--| 9|\8,600---| 10|\4,200---| 11|\4,200---| 12|\13,000--| 13|\7,500---| 14|\4,300---| 15|\7,800---| 16|\6,800---| セル【E6】に定価を10%割り引きした数式を作り、オートフィルを使って 表を完成したいのですが、 =D6*(1-E$5) としてオートフィルを行うと10%の【E列】はうまくいくのですが、それ以外の列は、 おかしな数値になってしまいます。 【D列】は【D6】、【D7】、【D8】・・・と変化するので「D」の前に「$」をつけなくても 大丈夫と思ってたのですが、どうしてうまくいかないのでしょうか。 【D列】以外は定価欄がないのに・・・ これとはまた別の、例えば「予算達成率(合計/予算)」などを求める表は絶対参照は必要 なく求められました。 何が違うのでしょうか。 列を固定したままで、行だけ変えて数式を作りたいとき、または行を固定したまま列を変えて 数式を作りたいとき、固定したいものについて「$」をつけるという考え方は間違って いるのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
回答No.7

またまた#1です。 何を勘違いしているか分かりました。 『列が変わらなければ「$」をつけなくてもいい』 これがもし成立していたら、E5の5の前に$が必要ないという事になってしまいます。 本当は 『列を変えたくないから「$」をつける』 です。 オートフィルを行う時、数式は、列に伸ばせば列が、 行に伸ばせば行が自動的に移動します。 行にしか伸ばさないのであれば『列が変わらないので「$」をつけなくてもいい』になります。 これは、列が変わらない事が前提ですよね。 今回は列も伸ばすので、『列を変えたくないから「$」をつける』になります。

pencilart
質問者

お礼

ご丁寧にありがとうございます。 >E5の5の前に$が必要ないという事になってしまいます。 ホント、そうですよね。なんでこんなことに気づかなかったんだろう。 >行にしか伸ばさないのであれば『列が変わらないので「$」をつけなくてもいい』になります。 この一言で、他の「予算達成率」についても理解できそうです。 ありがとうございました。

その他の回答 (6)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.6

#2です。 >G列はD列を参照しないのですか? この場合は、しません。 「$」をを付けた場合を絶対参照、 「$」をを付けない場合を相対参照といいます。 過去の質問に「相対参照と絶対参照の使い分け」とありますので、 参考にしてください。 http://oshiete1.goo.ne.jp/qa2708408.html

pencilart
質問者

お礼

ありがとうございます。 前回の質問もとても参考になり、ぼんやりわかったつもりで いたのですが、実際にテキストの問題を解いてみると 手が止まってしまったんですよ・・・ みなさんのおかげでだいぶ理解も深まりました。 とても感謝しております。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

もう正解は出てるんですが納得できませんか? 縦方向のコピーでしたら E6=D6*(1-E$5) でE7,E8とコピーしても大丈夫ですが 横方向にF6,G6とコピーする場合 Dの前に$がないと列が固定されていない為 F6=E6*(1-F$5) G6=F6*(1-G$5) になります。これを F6=D6*(1-F$5) G6=D6*(1-G$5) と直せばかまいませんが、計算対象がD列で固定なら E6=$D6*(1-E$5) とすれば修正しないで計算してくれます。

pencilart
質問者

お礼

ありがとうございます。 みなさんのおかげで納得しつつあるところです(^^; 別の数式としてG6=D6*(1-G$5)というのは気がつき ませんでした。 ほおおお~となるばかりです。 参考になりました。ありがとうございました。

回答No.4

D列を固定にしなければ、オートフィルで列を移動させた場合、 E、F、G・・・と進んでしまいます。 E6、F6、G6には値は入ってませんよね。固定にしなければなりません。

pencilart
質問者

お礼

たびたびありがとうございます。 >E6、F6、G6には値は入ってませんよね。固定にしなければなりません。 あ、なんかわかるような感じがします。 この場合たしかにD欄を固定しなければ数式は成り立ちませんよね。 参考になりました。ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

数式をコピーする場合、相対参照セル($なし)はエクセルが自動的に変位(行方向なら行番号、列方向なら列番号)させます。 従って、=D6*(1-E$5)を下方向にコピーする場合は、行番号部分が変位し、=D7*(1-E$5),=D8*(1-E$5)・・となりますが、右方向にコピーすると=E6*(1-F$5)、=F6*(1-G$5)となるからです。

pencilart
質問者

お礼

ありがとうございます。 >右方向にコピーすると=E6*(1-F$5)、=F6*(1-G$5)となるからです。 なるほど!この部分がよくわかってなかったみたいです。 とても参考になりました。ありがとうございました。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.2

>としてオートフィルを行うと10%の【E列】はうまくいくのですが、それ以外の列は、 >おかしな数値になってしまいます。 セルE6に式を入力して、E6からG16まで貼り付けていませんか? その場合、式は、 =$D6*(1-E$5) となります。 >「D」の前に「$」をつけなくても大丈夫と思ってたのですが、 E列はこれでも大丈夫ですが、 F、G列は、これではそれぞれ前の列を参照します。

pencilart
質問者

補足

ありがとうございます。 ちょっとひっかかる部分があるのですが・・・ >F、G列は、これではそれぞれ前の列を参照します。 初めて聞きました。G列はD列を参照しないのですか? よろしくお願いします。

回答No.1

=$D6*(1-E$5) でどうですか? 考え方は間違っていません。

pencilart
質問者

補足

ありがとうございます。 =$D6*(1-E$5) 答えはこうなるのですが、 Dの前に「$」をつける意味がわからないんです・・・ D列を固定しなくてはならない理由がわかりません。 数式を作るとき、列が変わらなければ「$」をつけなくてもいいのではないかと思うんですよ。 「予算達成率」を求めるときも、他に列(売上構成比の列etc・・・)があったとしても、 わざわざ固定しなくても数式は作ることができたし、オートフィルもできました。 どこかわかってないとこがあるんだとは思いますが、何が間違っているのかわからなくて・・・ よろしくお願いします。

関連するQ&A