- ベストアンサー
Excelのマクロで・・・
こんな表があります。 A B C D E F G 1 XX XX XX 2 YY YY YY 3 ZZ ZZ ZZ ここでA1、B1、C1の変数を読み込み「ある計算」をさせてD1~G1にその答えを書き出させる、A2~C2の変数を読み込み「ある計算」をさせてD2~G2にその答えを書き出させる・・・というのを作りたいのですがデータの読み込みと書き出し方法がわかりません。 どうすればいいのでしょうか?簡単なことなのでしょうがエクセルのヘルプが入っていないので・・・(大学のPCなので自分で入れることも不可能です) (縦は同一の変数で対応しています) 必要ならば補足いたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1と3のarukamunです。 >簡単な式だとこの方法でできるのですが今回は式が非常に複雑すぎるのでこの方法が使えません。(どうしても途中の計算式の結果を出す必要があり、そのデータは表に残せないため) マクロにするにしてもかなり計算が複雑なので、何度も使う数は事前に計算しておきたいですよね。 表に残せないというのは、単に表示したく無いという事でしょうか。 もしそうであれば、表示したくない列を選択して、[書式]→[列]→[表示しない]という事も可能です。 >2度も回答していただいたのですが申し訳ありません。 いえいえ、気になさらずに。
その他の回答 (3)
- arukamun
- ベストアンサー率35% (842/2394)
No.1のarukamunです。 折角補足して頂いたのですが、式が解りにくいので簡単な例を挙げたいと思います。 D列は D=A+B+C E列は E=A×B×C F列は F=A^3+B^2+C G列は G=√A+√B+√C としたいとして D1セルに =A1+B1+C1 E1セルに =A1*B1*C1 F1セルに =A1^3+B1^2+C1 G1セルに =A1^0.5+B2^0.5+C2^0.5 とすると、それぞれ式を理解して結果を出してくれると思います。 次に、D1セルからG1セルをドラッグして、コピー(編集→コピー、またはCtrl+C)して、D2セルとD3セルをドラッグして、ペースト(編集→貼り付け、またはCtrl+P)をすると、D2、E2、F2、G2、D3、E3、F3、G3が勝手に計算すると思います。 この様にセルに式を入れることで計算させる事が可能です。 ご理解頂けましたでしょうか。
お礼
回答ありがとうございます。 簡単な式だとこの方法でできるのですが今回は式が非常に複雑すぎるのでこの方法が使えません。(どうしても途中の計算式の結果を出す必要があり、そのデータは表に残せないため) 2度も回答していただいたのですが申し訳ありません。
- taknt
- ベストアンサー率19% (1556/7783)
まず、マクロの作成の仕方、実行の仕方は わかりますでしょうか? それがわかれば、次にセルの値を取得。 計算。 セルに値をセットですね。 とりあえず、参考URLの質問などを 参考にしてみてください。
- arukamun
- ベストアンサー率35% (842/2394)
特定のセルに答えを出すだけであれば、マクロを使わずにワークシート関数で可能だと思います。 どのような計算をするのかを書いて頂けると回答しやすいのですが、補足して頂けますか。
補足
A# = H# ^ 3 / A1# / A2# / A3# * F3# / F4# + H# ^ 2 / A2# / A3# * F3# / F1# + H# / A3# * F3# / F2# + 1 B# = B1# * H# ^ 2 / A2# / A3# * FCa# * F3# / F6# + B2# * H# / A3# * FCa# * F3# / F5# + B3# * FCa# * F3# / F7# P# = B# Q# = A# - B# * TC# + B# * TP# R# = -1 * A# * TC# X1# = (-1 * Q# + Sqr(Q# * Q# - 4 * P# * R#)) / 2 / P# X2# = (-1 * Q# - Sqr(Q# * Q# - 4 * P# * R#)) / 2 / P# X3# = X1# * FCa# ACa# = X3# このようなことを3回計算して最後にログ計算です。 変数はTC#、TP#、H#であとは全部定数です。
お礼
たびたびありがとうございます。 この方法でなんとかできました^^