- 締切済み
Excelで作成済みの式のコピー
Excel2003ですが、1列目がタイトル行でB2からK2まで数値が入ってます。B3にB2の数値に基づいた計算式が入力されており、現状はB3に計算結果が出てます。同様にC列からK列まで、3行目に異なった計算式が入って結果が表示されています。そこでA2にB3からK3までの合計を表示させたいのです。A2にカーソルを置き=からB3にカーソルしクリックしても=B3となり計算式は入りません。各計算式を手入力すれば出来ますが、計算式のコピーはどうすれば良いのでしょうか?実際の表は3000行位あり、3列目にも次のデータが入ってますが計算式を作る為にサンプル表で作業してます。 どうぞ宜しくご教示下さい。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- Cupper
- ベストアンサー率32% (2123/6444)
質問文 一行目にタイトル 2行目B列以降に数値 3列目B列以降には2行目の数値を元に計算する数式 A2セルに3行目の数式をコピーして合計を表示 最終的には3行目以降にも値が入るので、作業用に行列を挿入したくない こういう事ですか? なら、B3セルに入力されている、イコールより右を選択してコピーしてください あとは、A2セルにイコールを入力し、そのあと貼り付ければOK =B2*.7 C3セル以降は同様にコピーし、貼り付ける前に 前に貼り付けた数式の後ろにプラス記号を入力したのちに =B2*.7+ 貼り付け =B2*0.7+((500-C2)/500*30+70)*0.05 一つの数式に入力できる参照セル数がオーバーするような気がしますけど気にしないことにします これでも面倒だというのでしたら、だれか他の人に頼んでやってもらいましょう
- kmetu
- ベストアンサー率41% (562/1346)
No5です どうしても式をコピーしたいのでしたら 以下のマクロを実行してください。 式を+で繋いでいきます。 Sub test() Dim MyRange As Range Range("A2").Formula = Range("B2").Formula For Each MyRange In Range("C2:K2") Range("A2").Formula = Range("A2").Formula & "+" & Right(MyRange.Formula, Len(MyRange.Formula) - 1) Next End Sub
お礼
有難う御座いました。 マクロまでのスキルが無いもので勉強してみます。 マクロを使わなければ出来ない事なのでしょうか?
- kmetu
- ベストアンサー率41% (562/1346)
> 実際の表は3行目にもデータが入ってますので、表現がおかしいですが、2行目だけで処理したいのです。 ちょっと意味が分かりかねます。 3行目には計算式が入っているのですよね。 それともB3からK3までで計算式とデータが入っているセルが混在していると言うことですか? で、計算式だけのセルを合計したいとかでしょうか でしたら =SUM(B1,D1,F1) みたいな感じでは駄目なのでしょうか だとしても、「2行目だけで処理したい」という事がどういう事をしたいのか わかりません。 どちらにしてもB3からK3での計算式をA2にコピーした場合 単純に考えたら=が入りますので=を削除しなければ駄目なのではないでしょうか A列からE列くらいまで具体的に示してみたらいかがでしょう。 で、A2にどのような値が出ればいいのか分かると理解できると思います。
お礼
有難う御座いました。 >3行目には計算式が入っているのですよね 計算式を作成するためにサンプル表で作業してますので、3行目に計算式がありますが4行目以下は空白です。 >どちらにしてもB3からK3での計算式をA2にコピーした場合 単純に考えたら=が入りますので=を削除しなければ駄目なのではないでしょうか この=を除いた部分をドラッグしようとしても上手くいきません。
- imogasi
- ベストアンサー率27% (4737/17069)
#2です。 A3に=SUM(C3:K3)とあるとき、A2にそのまま複写すると式の番地が、所定のルールで変化する。 させたくないなら=SUM($C$3:$K$3)と替えておく(注)と、他セルに貼り付けても=SUM($C$3:$K$3)のままである。 (注)式の中の、数式バー部で、Bの前をクリックし、F4キーを押すと$B$3になる。K3の部分も同じ。Bの前でなくても3の前、3のあとでも同じ。 そういう場合は=SUM(C3:K3の入ったセルを=A2のように(式の複写ではなく)結果が出ているセルを「参照する」方を選ぶ。
お礼
何度も申し訳ありません。 出来たと思いましたが、1つ目の式はコピー出来ましたが、2番目以降を追記出来ません。 質問をやり直します。 お世話になりました。
補足
皆さんへのお礼と前後してしまいますが、やっと分かりました。 ドラッグして、編集、形式を選択して、数式で貼り付け出来ました。 それで参照を動かしたく無い時、$を行列番号の前後に追加しますが、これを既存の式に一括で追記するのはどうしたら良いのでしょうか?
- okormazd
- ベストアンサー率50% (1224/2412)
どうも質問が明確ではない。 Excelは、横の並びを「行」といい、縦の並びを「列」といいます。 これを混同すると混乱してしまいます。 「1列目がタイトル行」→「1行目がタイトル行」 「3列目にも次のデータが」→「3行目にも次のデータが」 ではないかと。 「A2にB3からK3までの合計を表示させたい」 というなら、#1さんの、A2に、 =SUM(B3:K3) で、回答になっています。A2ですから2行目だけで処理されています。 「表現がおかしいですが、2行目だけで処理したい」 なにをどのように処理したいのですか。まさに表現がおかしいですね。
補足
有難う御座いました。 うっかり行と列を混同してしまいました。ご指摘のとおりのつもりでした。申し訳御座いませんでした。 実際の表は2行目からすべてデータが入ってますので、実際には3行目に計算式は入れらないと思われますが、違うのでしょうか?2行目だけで処理したいというのはその行だけで演算したいのです。表の列外に3行目の計算式を同じ行に入れその合計をA2に表示させれば目的は達せられますが、そのような1次的なセルを作らずに式を完成させたいのです。
- imogasi
- ベストアンサー率27% (4737/17069)
質問で聞いているのかが、よく判らない。 ーー セルの値を参照して合計などを出すとき、 例えばB3からK3までの合計を出すとき、B3,C3・・のセルの値ががどんな数式で出されていようと(ほかに手入力でも、VBAでプログラム入力された値でも、コピー貼り付けした値でも、他のファイルからコピーした値であろうと)考える必要が無い。こんなことは迷ってないですよね。 だからなおさら何をきいているか判らない。 セルをクリックして、そのセルの番地を取る方法を聞いているなら =SUM( を入力 B3をクリック : K3をクリック )とENTER または =SUM( を入力 B3:K3をドラックまたは B3をクリック、SHIFTキーを押して、K3をクリック )とENTER ですが、こんなことは聞いてないですよね。 >計算式は入りません 色々の関数の場合があるので自動で入れようが無い。手入力しかないのでは。 その後の行の式を(同形の場合)複写することは出来るが。 >A2にカーソルを置・・ B3:K3の合計はよいとして、B4:K4の合計などはどのセルにセットするのか。 ーー 全体的な情況の説明がなくて判りにくい。実例を失明に挙げないのが 原因の1つとおもう。
補足
有難う御座いました。他の方からも指摘されましたが質問が分かりにくくて申し訳ありません。 実際の表はZ列までありますが、そこから後ろの列にB3からK3へ入力してた式をAA2から後ろに入力し、それの横合計をA2に表示させれば出来ますが、そのような作業セルは作らなければならないのでしょうか? >色々の関数の場合があるので自動で入れようが無い。手入力しかないのでは。 自動ではなく、各式を文字列としてコピー出来ないかという事です。 例えば、A2=B2*.7+(500-C2)/500*30+70)*.05+((1000-D2)/1000*30+70)*.1+****としたいのです。この式を作るのにB3からK3までに作成済みの式をコピーしてA2に作成したいのですが、そのままではB3+C3+D3+*****となってしまいます。
- kmetu
- ベストアンサー率41% (562/1346)
A2にB3からK3までの合計を表示したいのでしたら =SUM(B3:K3) で計算できますよ。B3の計算式をコピーする必要はありません。
補足
有難う御座いました。 実際の表は3行目にもデータが入ってますので、表現がおかしいですが、2行目だけで処理したいのです。
お礼
何度も申し訳御座いません。 そのコピーが上手く出来ないのです。ドラッグするとクリップボードに保存されてれると思うのですが、右クリックでコピーを選択、貼り付けセルをクリックすると、貼り付けセル番号が表示され、右クリックの貼り付けが出ません。というより右クリックメニューが出ないのです。何回もやりましたが、1回だけ成功しましたが、次の式を選択、貼り付けの段階で失敗です。勿論、2番目以降は=を除いてドラッグしてます。何か書式設定の問題でしょうか? 質問タイトルの”式のコピー”が出来ないのです。
補足
お礼の後になってしまいましたが、皆さんとやりとりしてる内、もっと単純な事が出来てない事が分かりました。 B2に数字の5、B3に=B2*6を入力し、A2に=B2*6を貼り付けたいのですが出来ません。B3をクリックし=以下でも=より後ろのB2*6をドラッグしても、A2をクリックすると上の表示窓?に=A2と表示されます。又式をドラッグするとB2のセルが4隅が小さい4角の青い枠で囲まれます。私のExcelの不具合では無いと思いますが、何か基本的な勘違いをしてるのでしょうか?