![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんばんは
いくつかの変数を与えると答えが出るようなエクセルシートに、変数を変えながら与えてそれらの答えを次々求めるようなことができるでしょうか。
話を単純化すると次のような感じです。
B2, D2, F2 に変数を入れると、(関数では書けないような計算をして)その答えが、B8, C8, D8 に出るとします。
このとき、3つの変数の組み合わせをたとえば100通り設定して、おのおのある行の J,K,L 列に書くと、それをB2, D2, F2 に代入し、それぞれの組み合わせに対するB8, C8, D8 の答えが同じ行の M,N,O列に出るというようなことが可能でしょうか。
いろいろ調べてみても見つからないのですが、あればとてもありがたいのです。よろしくお願いします。
No.8ベストアンサー
- 回答日時:
見当違いでしたらごめんなさい。
一見したところ、シナリオという機能でできるような気がします。
シナリオとは、あらかじめセルの数値を数パターン登録しておくことのできる機能です。
【操作方法】
数値を変化させたいセルを範囲指定します。
[ツール]メニューから[シナリオ]を選択します。
シナリオ名を付け、OKをクリックます。
※シナリオ1など
それぞれのセルに数値を入力し、追加をクリックします。
これを繰り返し、複数のパターンを登録します。
あとは、適用したいシナリオを選択し表示をクリックします。
いかがですか?
この回答への補足
ありがとうございました。これが近いです!
ただ:
http://www.rericca.com/qa/ex12.html
これを見ると、1つのパラメーターの組ごとに1回シナリオを作らないといけないようですね。本当は100組よりもずっと多いケースの試行をさせたいので、ちょっとこれだときついのですが…^^;)。
引き続きよろしくお願いいたします。
No.9
- 回答日時:
#3です
>複数の評価項目が出ます。
というのがM,N,Oってことですね?
そしたら多分わたしの理解は合ってそうに思えるので2の追加。合ってなかったらごめんなさい。
なんのことはなくてマウスでドラッグするだけで出来ると思います。
2’.入力と出力場所を変える1
B2を選択する
辺をマウス左クリックでセルをJ1とかに移動。
D2,F2も同様にK,Lへ
B8,C8,D8も同様にMNOへ移動。
(*)で、100通りをJKLの下の方へずらずら書く。
M1,N1,O1を選択する。
選択範囲の右下にマウスを置くと十になるのでその状態で左クリックしたまま下に引っ張る。ずずずと。
で、所望の結果が出来そうに思います。
2’’。B2D2F2、B8C8D8とかを残したい時
ついでに上記場合
B8C8D8をそのままMNOへコピー。
MNOにコピーしたものの中でB2D2F2が書かれている部分をJ1,K1,L1に変更。
あとは2’の(*)から先をやる。
どうでしょう?
ありがとうございました。
やってみましたが、B8をM1に持ってきた場合、こんどM2では、B8で使っている式(例えば、SUM(B3:B7) みたいな感じ)が一つ下にずれる、ということになるので、所望の動作とは別のことになるようです。
感じとしては「シナリオ」のところに書いたようなものです。
引き続きよろしくお願いいたします。
No.6
- 回答日時:
私も質問者のイメージがつかめてない。
しかし下記の記述の中に何か、質問者のもやもやを少しでも晴らす記述がないかと思って書きます。
エクセルは、プログラムのようには考えない(考えられない)。
プログラムは、変数xにはあるときa,変数yにはそのときbと入れて(決めて)、計算など処理をさせ、aとbまたは1方を変えて同じパターンの計算や処理をさせる。中間結果はメモリ上で次ぎの処理に使われ、消えていく(使い捨てする)場合も多い。
エクセルは、セルの同一行に有ることを、[組である]と言う前提のもとに、シートのセルに変化した「値」を実際に展開すべきという方式である。
抽象的な、「組み合わせの全て」などの表現では、役に立たない。
すべて利用者・人間がお膳立てをして、具体的な数値や文字列にしないといけない。
プログラムのようにスタートと増分を指定してやって、逐次実行するのは、連続データの作成をセル上で実現してやることにより、その手助けがある。
プログラムの一瞬一瞬が1行1行に記録されていて、エクセルの関数で実行できるなら結果が出るということになる。
しかし熟達の士なら、私製関数で近似値を出す関数など作ってしまえるので、普通のエクセル関数の整式的関数ばかり(に限る)とは言えない。
例外はゴールシークなどのツールやウイザードと思う。
これらは熟達の士がプログラムを組んで、初期条件の設定や、結果のアウトプットにセルを利用しているだけのように思えるので、ワードやメモ帳に出しても良いものと思う。
質問では(A)変数として使うのを指定する場所と
(B)変化して採りえるデータ組のある場所を分けているが、計算や作業を関数(エクセル巻数とは限らない)で表し、式の複写で、行ごとの計算をさせるほかない。
それをしないなら、VBAが出て行くよりほかない。
どちらにしても、(A)と(B)は分ける理由はない。
関数式を入れる=>データのあるところを指定する=>GO=>結果が順次出るという仕組みも、ソフトウエアの概念的には進んだものかもしれないが。
ピントはずれを懸念しつつ。
No.5
- 回答日時:
こんばんは。
この前も同じような質問がありましたが、ロト6見たいな組み合わせは無理です。
>3つの変数の組み合わせをたとえば100通り設定して、
a,b,c とすれば、
Permut(3,3) = 6 通り
--------------
a,b,c
a,c,b
b,a,c
b,c,a
c,a,b
c,b,a
たとえば、20個の中から、3つを並べる順列を100通り求めても、それは数学的に中途の計算にしかならないと思います。いずれにしても、この種のものは、マクロでもかなり難しいです。
ありがとうございます。
下にも書いたとおり、本当の「変数」ではなく、
(400,40,1.5)
(400,30,1.4)
(420,40,1.5)
(420,30,1.4)
…
みたいな感じで変えていきたいわけです。
さらによろしくお願いいたします。
No.3
- 回答日時:
二つ思いつきますがわたしなら前者を試してみます。
1.マクロをつかう
ツール → マクロ → 新しいマクロを作る
をやってから
B2で =J1 , D2=K1 , F2= l1
をやってから
B8をコピーしてM1に形式選択貼り付けで値を貼り付ける。
N,Oも同じことする
で、マクロ記録を閉じる。
この後ツール→マクロのベーシックエディターを起動して、J1とかの数字部分を1~100までループさせます。
2.入力と出力場所を変える
J1,k1,l1 に値を入れると M,N,O に計算結果が出るように微妙に作り直しておいてから、JKL列に組み合わせを入力、MNOを一気にコピーして100行作る。
2は見落としが有りそうな気がするけど、きっと1でいけるでしょう。
この回答への補足
ありがとうございます。説明の要領が悪くてすみません。
3つの「変数」というのは、3つの具体的な数で、例えば、トータルの個数、ロットの数、余裕の率です。この3つの数をいろいろ変えたそれぞれの場合に対して、複数の評価項目が出ます。それらを眺めて、総合的に判断しようというものです。いちいち3つの変数を手で入れていくのでは面倒で一覧性もないので、一括で計算できないかというわけです。
すみません、1は私のスキルではループさせるところがちょっと無理なので、2にしたいのですが、「微妙に作り直しておいてから」のところがどうもどうしたらいいのか分かりません。
さらによろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) 【Excel】複数列ごとに取得するセルを変更したい 2 2023/03/23 21:04
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
IF関数で、時間を条件にしたい...
-
AかBに入力があった時Cに反映、...
-
エクセルで 足し算や割り算の...
-
Excelの計算式内の文字列の一括...
-
エクセル 1万時間を越える際の...
-
EXCELの関数に関する質問です
-
エクセルでの時間計算(2時間30...
-
多項式の計算
-
IF関数で出した数値をSUM関数で...
-
計算結果が「0」のセルだけを「...
-
【エクセル】あるセルのみ自動...
-
数式の計算結果により表示され...
-
excel 参照しているセルに色が...
-
エクセル 月数を0.5ヶ月単位で...
-
エクセル・計算式をテキストデ...
-
エクセルで足し算と掛算を混ぜ...
-
エクセルで、時間の計算をした...
-
エクセルの計算結果が0になって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヘッダー
-
IF関数で、時間を条件にしたい...
-
エクセルの使い方 1日=7時間45...
-
エクセルで、時間の計算をした...
-
エクセルで 足し算や割り算の...
-
エクセルでの時間計算(2時間30...
-
EXCELの関数に関する質問です
-
計算結果が「0」のセルだけを「...
-
エクセルの計算結果が0になって...
-
数式の計算結果により表示され...
-
Excel 関数? 文字列に...
-
Excelの計算式内の文字列の一括...
-
TEXTCALCの使い方
-
エクセル・計算式をテキストデ...
-
エクセル 1万時間を越える際の...
-
エクセル 月数を0.5ヶ月単位で...
-
AかBに入力があった時Cに反映、...
-
多項式の計算
-
エクセルで足し算と掛算を混ぜ...
-
エクセルで比率を計算
おすすめ情報