• ベストアンサー

エクセルで変数を次々変えて計算させられる?

nanase_p_qの回答

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

見当違いでしたらごめんなさい。 一見したところ、シナリオという機能でできるような気がします。 シナリオとは、あらかじめセルの数値を数パターン登録しておくことのできる機能です。 【操作方法】 数値を変化させたいセルを範囲指定します。 [ツール]メニューから[シナリオ]を選択します。 シナリオ名を付け、OKをクリックます。    ※シナリオ1など それぞれのセルに数値を入力し、追加をクリックします。 これを繰り返し、複数のパターンを登録します。 あとは、適用したいシナリオを選択し表示をクリックします。 いかがですか?

kankororin
質問者

お礼

ありがとうございました。問題が徐々に明らかになったので、整理して質問しなおしたいと思います。

kankororin
質問者

補足

ありがとうございました。これが近いです! ただ: http://www.rericca.com/qa/ex12.html これを見ると、1つのパラメーターの組ごとに1回シナリオを作らないといけないようですね。本当は100組よりもずっと多いケースの試行をさせたいので、ちょっとこれだときついのですが…^^;)。 引き続きよろしくお願いいたします。

関連するQ&A

  • エクセルで入力の数値を次々変えてシミュレートできますか

    こんばんは 前回は質問の書き方が不明瞭でしたので、書き直します。 3つの数値 x,y,z を与えると、結果がシミュレーションできるエクセルシートがあります。結果も3つ出ますので f(x,y,z), g(x,y,z), h(x,y,z) とします。 x,y,z は B2, D2, F2 に入れるようになっており、f, g, h は、B8, C8, D8 に出るとします。 このとき、x,y,z の組み合わせをたとえば各10通り、合計1000通り代入して、f, g, h を計算させるには、B2, D2, F2に 400 40 1.5 400 50 1.5 420 40 1.5 420 50 1.5 … というように次々数値を入力して、結果f, g, h(B8, C8, D8)を別の欄に記録していけば良い訳ですが、これを1000回繰り返すのは面倒です。 シナリオという機能があると伺い、これが希望のものに近いのですが、 http://www.rericca.com/qa/ex12.html 1000回もシナリオを作るのでは入力の手間が大変です。 そこで次のようにできないでしょうか。 x, y, z の数値の組合せ(400 40 1.5 等々)を次々変えて J,K,L 列の 1から1000行に書いておくと、それらを 順次 B2, D2, F2 に代入し、ある行の組み合わせに対する答え f, g, h が同じ行の M,N,O列に出る、それを 1 から 1000行まで繰り返す、というようなことが可能でしょうか。(出力形式は例として考えたので、この形にはこだわりません)。 f, g, h が 関数として簡単に書ければ、プログラム言語でループをさせればいいのですが、このエクセルは以前の人が作ったもので途中で大変面倒な計算をしており、とても移植できません。(上記の話は説明のために簡単化してあります)。 こういう手段があればとてもありがたいのです。よろしくお願いします。

  • エクセルVBA シート1からシート2へ転記したい

    シート1のデータはそのままで、 シート2に編集して転記したいです。 シート1にはA列からI列までデータが入っています。 行数は都度変わりますがデータは3行目から始まり 大体500行くらいです。 転記方法は シート1のD列→シート2のA列 シート1のE列→シート2のB列 シート1のF列→シート2のC列 シート1のC列→シート2のD列 でシート1のD列の値が同じ場合は 転記先のシート2の行数は増やさずにシート1のC列の値を 同じ値のF列内にカンマでつないで転記したいです。 でそのつないだ合計数をシート2のE列に表示したいです。 イメージ C  D    E     F ------------------------ A1 みかん 国内 Sサイズ A3 みかん 国内 Sサイズ D6 みかん 国内 Sサイズ D9 りんご 国内 Mサイズ G7 りんご 国内 Mサイズ F5 バナナ 海外 Lサイズ G1 バナナ 海外 Lサイズ A2 いちご 国内 Sサイズ D8 いちご 国内 Sサイズ F3 いちご 国内 Sサイズ H2 いちご 国内 Sサイズ   ↓ A    B    C      D     E ------------------------------------------- みかん 国内 Sサイズ A1,A3,D6   3←3個 りんご 国内 Mサイズ D9,G7     2←2個 バナナ 海外 Lサイズ F5,G1     2←2個 いちご 国内 Sサイズ A2,D8,F3,H2  4←4個 上記例の場合は元データは11行ですが編集後は4行です。 配列は自力で作成できないので考え方を教えていただきたいです。 構文をそのまま書いていただいても大変助かります。 Do~LoopかFor~Nextで上から順最終行まで処理で シート1からシート2へ転記する構文をかいて D列の値が直前に処理した値と同じ場合は 転記はしないでC列の値を変数1に代入し シート2の該当行のD列も変数2に代入し 変数1&","&変数2で対象行のD列に転記と考えましたが うまくできませんでした。 またシート2のE列の求め方ですが、上記変数1,2に代入した後に 変数3=変数3+1とかの文でカウントし、 その値を転記すればいいのでしょうか? すいません。今日1日頑張ってうまくできず 上手く説明できません。 よろしくお願いします。

  • エクセル(excel)の計算式(関数)について

    エクセル(excel)の計算式(関数)でよいアイディアがありましたら教えてください。 1行目は項目行です。 セルA1から右に15列=セルO1まで、 a | b | c | d | e | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 と入っています。 2行目からデータとして、 セルA2から右に5列=セルE2まで、 4 | 2 | 2 | 1 | 1 と入力したとします。(データ例(1)) あるいは、 セルA3から右にセルE3まで、 6 | 3 | 0 | 0 | 0 と入力したとします。(データ例(2)) 1つのデータの5個の数字のルールは2つで、 「合計で10以下である。」 「左から順に小さくなるか、同じ数字となる。」 です。 (目的は、) このとき、F列からO列にかけて、 データ例(1)のケースでは、 a | a | a | a | b | b | c | c | d | e データ例(2)のケースでは、 a | a | a | a | a | a | b | b | b | と表示されるように、 つまり、項目行の下にある数だけ、その列の1行目の記号を 1(F列)から右に向かって順に埋めていくような、 F列からO列までの2行目以下に入れる適当な計算式(関数)は ないでしょうか。 拙い説明で申し訳ありません。どなたかよい考えをお持ちの方がいらっしゃいましたらと存じます。 どうぞよろしくお願い致します。

  • Excelの計算式

    同一のファイル内で↓の事をしたのですが、ご意見をいただけませんか? Sheet1; (A列) (B列) (C列) (D列) 1 fileA 10K   ● 対象外 2 fileB 20K ▲ 3 fileC 30K  ×  対象外 4 fileD 40K  ■ . . Sheet2; (A列) (B列) (C列) (D列) 1 fileA 10K   0 n/a 2 fileB 20K   1 ▲ 3 fileC 30K   0  n/a 4 fileD 40K   1   ■  . . 1. (Sheet2)D列の作成です。 Sheet1, Sheet2共に行の並びは例のように順序正しくなくランダムです。 (Sheet1)A列を検索して、同一ファイルが存在すれば、ヒットした行番号の(Sheet1)C列の記号をコピーします。 ただし、(Sheet1)D列が「対象外」のときは、「n/a」をコピーします。 セル(D, 1)の定義ですがエラーになります。 =IF(Sheet2!A1 = Sheet1!A:A, IF(Sheet1!D:D = "", Sheet2!C:C, "n/a") ) 2. (Sheet2)C列の作成です。 今後、(Sheet2)D列と同じデータ項目の列がE,F,G..と増えます。 記号が存在すればカウントして、「n/a」はカウントしません。 汎用的に最終列を検索して、合計を求める方法はございますか? セル(C, 1)の定義はどのようになりますか? 以上 宜しくお願い致します。

  • エクセルの関数について教えてください

    こんにちは。 エクセル関数について教えてください。 (OS:WIN2000、エクセル2003) こんな表があって、別のシートの A1=200 A2=D A3=2・・・1行目D列の項目 と入力したときに A4に「はな」と表示させたいのですが Index関数とMatch関数の組み合わせだと思うんですが どうしたらいいですか? A列 B列 C列 D列 E列 1行 --- --- 1 2 3 2行 100 A いぬ くり 赤 3行 200 B ねこ いも 青 4行 300 C ぞう ねぎ 緑 5行 200 D とら はな 黄 6行 100 E うし みそ 朱 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・

  • エクセルの空白を詰めて別シートに表示

    sheet1のデータを参照して、空白を詰めてsheet2へ表示させたいんです! sheet1(元データになるもの)  A列 |B列|C列・・・ 1行目A|100|100 2行目B|  |200 3行目C|100| 4行目D|  |200 5行目E|100| 6行目F|  |100 ・ ・ sheet2(sheet1でB列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目C|100 3行目E|100 sheet3(sheet1でC列に入力があるものを抽出)  A列 |B列 1行目A|100 2行目B|200 3行目D|200 4行目F|100 sheet2のA1に下記の式を入力してA列とB列に数式をコピー =IF(COUNT(Sheet1!$B$1:$B$6)<ROW(A1),"",INDEX(Sheet1!A$1:A$6,SMALL(IF(Sheet1!$B$1:$B$6<>"",ROW($A$1:$A$6)),ROW(A1)))) すると下記のように表示されます。 A1=A     B1=100 A2=#NUM! B2=#NUM! A3=#NUM! B3=#NUM! 4行目から空白 sheet2のA2のところにエラーが出ていますが、「関数の引数」のところで「数式の結果」には「100」と 正解が表示されています。(B2、A3、B3も同様に)数式の結果のところには正解が表示されています。 答えの「#NUM!」のところに正解を表示させるには、どうしたらいいですか? 見よう見まねでつくったのもで。。。関数にあまり詳しくありません。 よろしくお願い致します。

  • Excelについての質問です。

    エクセルについての質問なのですが、 A列の数値だけをB列から選び出して、そこから更に選び出したBと同じ行にあるCをDに代入したいのですが、どのようにすればよいでしょうか?    A   B   C   D 1  0.1  0.1  5 2  0.5  0.3  10 3  1.2  0.4  20 4  2.3  0.5  40 5  3.7  0.7  80 6  4.7  1.0  160 7  5.9  1.2  320 わかりにくい表ですが、この場合 A1の「0.1」、B列で「0.1」といえばB1になります。それをBと同じ行のC1の数値「5」をD1に代入。 A2の「0.5」、B列で「0.5」といえばB4になります。それをBと同じ行のC4の数値「40」をD2に代入。 A3の「1.2」、B列で「1.2」といえばB7になります。それをBと同じ行のC7の数値「320」をD3に代入。    D 1  5 2  40 3  320 4  ・ 5  ・ 6  ・ という結果にしたいのですが・・・。 これは可能なのでしょうか? わかりづらい質問ですが、宜しくお願いします。

  • エクセル 表のなかから条件に合うものを詰めて一覧にする

    ある表のなかから条件に合うものリストを 詰めて一覧にするにはどういった関数などを つかってどういう風に組めばよいでしょうか? ・VB等プログラム使用不可 ・手動でのソートや抽出はしない ・「詰めて」が最も大きなポイント 例 シート1   |  A   B   C   D  --------------------------------- 01 |  あ  ○      58 02 |  あ  ×   u   4 03 |  あ  ☆   o   2 04 |     ×      87 05 |  う      j   7 06 |  あ  ○   k 07 |  い      n   9 08 |  い  ×   d  223 09 |  あ  ○  yua   0 10 |            66 11 |  い  ☆   j  12 |  う  ×   o   2 13 |  う      t   2 14 |  あ  ○  ykd  651 15 |  い  ☆   h   6 16 | 17 | 18 | 19 | 20 | 上記の中から  A列が「あ」かつ B列が「○」かつ D列が空白でないものを 詰めて別シートで下記のような リストに自動的にしたい。 自動的・・・ ・シート1の16以降の行に追加しても  自動的にシート2に詰めて反映される。 ・シート1いずれかの行を削除しても  条件にあったリストがシート2に  反映される。   シート2  (完成)   |  A   B   C   D  --------------------------------- 01 |  あ  ○      58 02 |  あ  ○  yua   0 03 |  あ  ○  ykd  651 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | もちろん、計算のための隠し列や隠しシートを儲けるなどは可。 エクセルの関数の駆使だけではムリなのでしょうか? どうかご教授くださいませ。

  • エクセルVBA 変数定義とループ条件

    エクセル2003を使用しています。 普段は他の人が書いたソースを見て修正して使用する程度なのですが、今回 初めて一から作成しようとしております。以下のような動きです。 ○条件 sheet1~sheet3までの3シート。各シートの一番上は項目行。 sheet1とsheet2のみデータがあり、sheet3は項目行のみ。 ○動作 ・sheet1のC2とsheet2のC2を比較し、同じだったらsheet3の2行目にsheet1のA2,B2,C2を挿入。 続けて、その右側にsheet2のA2,B2を代入。(sheet3のA2~E2までが埋まることになります) ・比較した値が間違っていたらsheet3はいじらない。 ・次に、sheet1のC2とsheet2のC3を比較し、同じであれば値をsheet3のひとつ下の行に代入していく。(今度はA3~E3) ・Sheet1のC列とSheet2のC列の全ての組み合わせで比較をしていく。 このような動作をするため、 If Sheet2.cells(2,2) = sheet1.cells(2,2) then Sheet3.cells(2,1).value = sheet1.cells(2,1) Sheet3.cells(2,2).value = sheet1.cells(2,2) Sheet3.cells(2,3).value = sheet1.cells(2,3) Sheet3.cells(2,4).value = sheet1.cells(2,1) Sheet3.cells(2,5).value = sheet1.cells(2,2) End If まずこのような形を作って動かしたら、一番最初の行については比較、値の代入ができました。 ここで、これをループさせて上記条件の動作をさせたいのですがどれを変数にし、どのようにループさせたらいいかが見当がつきません。 分かりづらいかもしれませんがご回答いただければ幸いです。 よろしくお願いいたします。

  • エクセルで集計

    エクセルでの合計について教えていただきたいのです。 A1~A10000まで日付が、B1~B10000まで数値が入力されています。 B列の数値を50行ごとに合計し、C列に表示する方法。 現在は、sum関数で手作業です。 簡単に表示できる方法を教えてください。 また、C列に合計のある行をD列(D1・D2・D3・・・)、E列(E1・E2・E3・・・)、F列(F1・F2・F3・・・)に並べたいのです。(50行ごとに間引いて表示するような感じです) 現在は、=C50・=C100・=C150のように手作業です。 もっと多量のデータが入力されたシートもあります。また、100行ごと150行ごとなど合計行が違う場合もあります。 エクセル初心者です。 よろしくお願いいたします。