- 締切済み
【Excel】数値をゼロにして数式をコピーしたい
Excel2007利用です。 数式を入れたセルを、数式をそのまま反映させる目的でコピーします。(利用するタスクは「形式を選択して貼り付け」の貼り付けは「数式」を選択) そのときコピー元の数式に入れた数値もそのままコピーされますが、コピー先の数式には違う数値での計算となりますので数値のみクリアにするためにdeleteボタンで消してしまうと数式まで消えてしまいます。 数式をそのまま反映させながら、数値をクリアにした状態でコピーをする方法がありましたら教えてください。
- みんなの回答 (11)
- 専門家の回答
みんなの回答
- naoki1986
- ベストアンサー率28% (28/98)
> ・E9セルではE8に2を掛ける→式「=E8*2」 E9に =if(E8="","",E8*2) を入力 > が正しいです。このVLOOK式を最後にお願いします。 勘違されているようなので補足します。 VLOOKUPやIF、SUMやCOUNTIF等は関数といって、計算やセル参照、条件分岐等を自動で行ってくれるExcelで予め決められたプログラムとでも言いましょうか、難しい処理を自動で簡単にしてくれる人とでも言いましょうか... 今まで私が質問者様にお伝えしていた =IF というのはIF関数といい、条件分岐を行ってくれる関数です。 IF関数を日本語にすると =if(E8="","",E8*2) =IF(もしE8が空("")だったら,空("")を表示,E8が空ではなかったらE8*2を実施) になります。 VLOOKUPは参照系の関数となります。 Excelの関数は便利なものが沢山ありますので是非覚えてください。 分からないことがあったら、「Excel 関数 検索」や「Excel 関数 数える」 等で検索してもらうと、知りたいことに近い関数が出てくると思います。 その関数を応用すれば大抵のことはExcelで可能となりますので、是非チャレンジしてみてください!
- naoki1986
- ベストアンサー率28% (28/98)
> E11にはE5とE7とE9とE10を足した結果が示されるようにしたいのですが、ご回答の式ですとF5、F7、F9、F10が選択されるようになってしまいます。 すみません、Fは間違いでEが正です。 FをEに置き換えてください。 > 蛇足ですが「?」は何か意味があるのでしょうか? こちらも間違いですのでお気になさらず。 > セルを選択すると右下に現れる十字マークをドラッグし、そこでまた表示される選択肢「セルのコピー」「書式のみコピー」「書式なしコピー」のうちでは「セルのコピー」でよいのだと思いますが、そもそも「セルのコピー」ではVLOOKの式や書式設定などのすべての情報がコピーされるのでしょうか?(つまり「書式設定あり、のみ」だと式などの情報は入っていないということになる) セルのコピーでOKです。 書式とは文字の大きさや色、背景の色等を指します(確か...w) そして、ifやvlookupなどは数式になります。 書式には数式は含まれませんので、「書式のみコピー」を選択するとセルには色情報やフォント情報のみがコピーされ、セルの中身(数式や文字列)は削除されるはずです。 「書式のみコピー」を選択したセルに何か文字を入れてもらうとその書式が適用されます。 よって、今回は数式をコピーしたいので「セルをコピー」または「書式なしコピー」が正となります。
- naoki1986
- ベストアンサー率28% (28/98)
・E4セルではE3から33,0000をマイナスする。→式「=E3-330000」 ・E5セルではE4に4.58%を掛ける→式「=E4*0.0458」 ・E7セルではE6に27.72%を掛ける→式「=E4*0.2772」 ・E9セルではE8に2を掛ける→式「=E4*0.0458」 ・E5とE7とE9とE10を足す→式「=E5+E7+E9+E10」 E4:=if(E3="","",E3-330000) E5:=if(E4="","",E4*0.0458) E7:=if(E6="","",E6*0.2772) E9:=if(E4="","",E4*0.2772) E11?:=IF(AND(F5<>"",F7<>"",F9<>"",F10<>""),F5+F7+F9+F10,"") この式を横に(F列側)ドラッグしてください。 ご希望にそえました?
お礼
この式をF列以降にも反映させますが、コピーする際には、いろいろあります。 セルを選択すると右下に現れる十字マークをドラッグし、そこでまた表示される選択肢「セルのコピー」「書式のみコピー」「書式なしコピー」のうちでは「セルのコピー」でよいのだと思いますが、そもそも「セルのコピー」ではVLOOKの式や書式設定などのすべての情報がコピーされるのでしょうか?(つまり「書式設定あり、のみ」だと式などの情報は入っていないということになる) 一方では「形式を選択して貼り付け」で「値」を選択して貼り付けても式までコピーされません。VLOOKなどの関数式は「値」ではないのでしょうか?「形式を選択して貼り付け」ではどれを選択してコピペすればよいのですか?
補足
わあい♪ありがとうございます。 E11だけヘンです。 E11にはE5とE7とE9とE10を足した結果が示されるようにしたいのですが、ご回答の式ですとF5、F7、F9、F10が選択されるようになってしまいます。 蛇足ですが「?」は何か意味があるのでしょうか?
A1 100 A2 50 A3 =A1-A2 で、A3のセルをコピーして、B3に「形式を選択して貼り付け」で 「数式」を選択して貼り付けると、数式バーには「=B1-B2」の数式が入りますよね? これは、 「数式を入力するセル(例:B3)の2つ上のセル(B1)に入力された値から 1つ上のセル(B2)に入力された値をマイナスします」 という数式をコピーしたからです。 B1とB2のセルが空白であれば、値0が表示されます。 B1とB2のセルに値を入力すれば、「=B1-B2」の計算結果が表示されます。 数式が入力されたセルで[F2]キーを押してみてください。 どこのセルが計算式で使われているかが分かります。 (色分けされているのでどちらがどちらか分からないことも無いはずです) もし、使用したいセルと違う場所を選択しているようでしたら、 セルを囲んでいる色の枠をドラッグして、該当のセルまで持って行ってください。 参照先(色の枠が選択しているセル)に値が入っているのに数値をクリアにしたい、 というのはちょっと難しいと思います。
- mshr1962
- ベストアンサー率39% (7417/18945)
>「2」はどのような意味なのでしょうか? COUNT関数はセルの数値の数を数える関数です。 COUNT(A1:A2)=2 というのはA1,A2共に数値が入力された状態という意味になります。 加減乗除ともに使えますが、割り算(除算)の場合、分母側が0だとエラー表示になります。
補足
では E5セルではE4に4.58%を掛ける→式「=E4*0.0458」 E5とE7とE9とE10を足す→式「=E5+E7+E9+E10」 という式をVLOOKで表すとどうなりますか?
- naoki1986
- ベストアンサー率28% (28/98)
すみません、セルを間違えました。 A1:100 A2:50 A3:=A1-A2 ではなく、 A1:100 B1:50 C1:=A1-B1 で、C1セルを下にドラッグ はいかがですか? 質問者様のやりたいことがイマイチ理解できておらず、結果と理想を書いて頂けるときちんとした回答ができるかと思います。
補足
では実際にやりたいことを書きますね。 ・E4セルではE3から33,0000をマイナスする。→式「=E3-330000」 ・E5セルではE4に4.58%を掛ける→式「=E4*0.0458」 ・E7セルではE6に27.72%を掛ける→式「=E4*0.2772」 ・E9セルではE8に2を掛ける→式「=E4*0.0458」 ・E5とE7とE9とE10を足す→式「=E5+E7+E9+E10」 これらの計算をすべてE列で行うのですが、式をF列にも反映させたいのですが、「形式を選択して貼り付け」の「値」を選択してコピーをしてもE列の数値がそのまま貼り付けされてしまいます。そのためdeleteボタンを押すと式そのものが削除されてしまいます。 このような場合どうすればよいかということです。 他の回答からVLOOK式でやれば0が表記されないようなのですが、すでに述べましたように式の中には引き算だけではなく掛け算や足し算がありますが、VLOOKはまったく無知なのでどのような式になるのか?ということです。
- mshr1962
- ベストアンサー率39% (7417/18945)
>>数式で使っている参照元のセルをクリアにすればいい >とはこのようなことことでしょうか? その通りです。A1:A2双方に数値がない場合に、0でなく空白にしたいなら A1:100 A2:50 A3:=IF(COUNT(A1:A2)=2,A1-A2,"") とすればいいでしょう。
お礼
他のセルで実行しようとしたらエラーがでてしまい、循環参照がどうの…とヘルプがでてしまいました。 なので直接教えてください。 =IF(COUNT(A1:A2)=2,A1-A2,"") の「2」はどのような意味なのでしょうか? =A1-10 =A1*10 =A1+A2 を関数式にするとどうなりますか?
補足
これなら関数式ですと0が表記されないですね。 この式は引き算ですが、割り算、掛け算にする場合はそれぞれ「+」「/」「*」をA1-A2の「-」に入れ替えればよいだけですか?
- naoki1986
- ベストアンサー率28% (28/98)
> たとえばセルA1に「100」という数値がありA2での数式を「=A1-50」と入れますとその値が「50」と表記されます。 > このA2の数式をB2に反映させたい場合、オートフィルでコピーすると数式とその結果も同じようにコピーされてしまいます。 A1:100 A2:50 A3:=A1-A2 A3列を下にドラッグ でいけませんか? 50をベタ書きしてるのが原因では?
お礼
>A3列を下にドラッグ B2列にそのまま反映させたいのでこれは違いますがA4にドラッグしたところ確かに0になりました。 B列の場合、A1とA2の値を削除するとA3は0になりました。数式を削除することはできないので、数式の元となる値のほうをクリアするという方法しかないようですね。
- msMike
- ベストアンサー率20% (364/1804)
》 「形式を選択して貼り付け」の貼り付けは「数式」を選択 上の操作と、一般の[コピー]→[貼り付け]との違いはご存知ですか? 実体(数値等)は同じだけど、貴方の場合は書式等が反映されないだけよ!
- skp026
- ベストアンサー率45% (1010/2238)
ご希望と違ったらごめんなさい。 よくあるやり方としては、値は別のセルにする方法です。 そうしているときはセルをコピーした場合、 式内で参照している値のセルもずれます。 (ずらせないやり方もあります) つまり参照のセルが空白の位置に式のセルだけをコピーすれば、 とうぜん値はゼロとして計算されます。 式の入ったセルを選択すると、右下に十字がでます。 それをドラッグすると、参照するセルをずらしながら、 式がコピーされます。 十字をダブルクリックして細かく設定する方法もあります。 これらの機能は、オートフィルと言います。 今回ご案内したものはご希望のものではないかもしれないですが、 ご希望と違うところを説明してもらえれば、 より良いやり方がご紹介できるかもしれないです。
補足
ご回答ありがとうございます。 質問はオートフィルでのことについてです。 たとえばセルA1に「100」という数値がありA2での数式を「=A1-50」と入れますとその値が「50」と表記されます。 このA2の数式をB2に反映させたい場合、オートフィルでコピーすると数式とその結果も同じようにコピーされてしまいます。 オートフィルでは形式を選択するのが限られています。(セルのコピー、連続データ、書式のみ、書式ありコピー)そこでこれを「形式を選択して貼り付け」の形式で数式にしようとしても、やはり同じようにコピーされてしまいます。 計算式に入れる値を入れるまでセルで0と表記されているのをよく見かけましたが、そういう状態にするにはどうしたらよいのでしょうか。
- 1
- 2
お礼
あと ・E9セルではE8に2を掛ける→式「=E4*0.0458」 の回答は E9:=if(E4="","",E4*0.2772) となっていますが、0.2772ではなく0.0458が正しいと思うのですが。 しかしこれは私の質問違いでもありました。 ・E9セルではE8に2を掛ける→式「=E8*2」 が正しいです。このVLOOK式を最後にお願いします。 このVLOOKを最後にお願いします。