• ベストアンサー

乱数で足し算の答えが2組ずつ同じになるように問題を作りたい

足し算の問題を乱数で左右2列に8つずつ作ります。答えがバラバラの位置で左右2組ずつ同じにしたいのですが、なかなかうまくできません。違う場所で同じ答えを見つけさせたいのです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • haccyan
  • ベストアンサー率43% (27/62)
回答No.3

こんにちは。 とっても面白い、エクセルの練習になりました。 では、B3:F10とH3:L10に、左右8問ずつの、0~99の値同士の足し算をつくります。 ・A3~A10に1~8を。(後でVLOOKUP検索を行うための作業列です。) ・B3とD3以下に、=TRUNC(RAND()*100)を。(0~99の、整数のみの乱数を作ります。) ・C3とI3以下に”+”を。(左右の値を足すよ!まんまですね。) ・E3とK3以下に”=”を。(略) ・F3に、=B3+D3で下にフィル。(左8問の答え。これもまんま。) ・G列は左右の問題を分けるための空白。 ・M3以下に、=RAND()を。(いきなり飛びます。作業列です。) ・N3に、=RANK(M3,M$3:N$10,1)で下にフィル。(M列の乱数の順位です。作業列です。) ・L3に、=VLOOKUP(N3,$A$3:$F$10,6,FALSE)で下にフィル。  (これで左8問の答えが、右8問の答えとしてランダムに並びます。) ・H3に、=TRUNC(L3-(RAND()*L3))で下にフィル。(L列より少ない整数です。) ・J3に、=L3-H3で下にフィル。(L列とH列の差です。これで右8問も完成です。) 以上で左8問と右8問は、答えが同じ問題が最低1問づつあります。 ”最低”と、わざわざつけたのは、 「左右で4問以上同じ答えになる場合がありえる」という意味です。 この問題については、左8問の答えの一致をしらべて、 もし一致する場合には、回避できるような関数を考えるか、 もう一度再計算をかけてみてくださいね。 また、RAND関数があるため、何かするたびに再計算が行われます。 よって、再計算のたびに問題が変わります。 変えないためにはできた問題をコピーし、値のみをペーストしてください。 ご健闘をお祈りします。

ei60
質問者

お礼

早速のご回答ありがとうございました。ぴったりとできて喜んでいます。L3に、=VLOOKUP(N3,$A$3:$F$10,6,FALSE)のところが私にはできなかったところです。”最低”と、わざわざつけたのは、 以下のご注意はよくわかります。 重複だけ気をつけます。VLOOKUPの使い方勉強してみます。ありがとうございました。

その他の回答 (3)

  • haccyan
  • ベストアンサー率43% (27/62)
回答No.4

すみません、#3のhaccyanですが、間違いがありました。 > ・N3に、=RANK(M3,M$3:N$10,1)で下にフィル。(M列の乱数の順位です。作業列です。) 以上の関数ですが正しくは、 =RANK(M3,M$3:M$10,1)です。 おわびして訂正します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>足し算 正整数の足し算ですか >足し算 加算数の個数は左列と右列各々、2個(例23+13=)に限りますか。 左右同数に限りますか。 桁数は1桁の数が混じっても良いのでしょうか。(1+34=) >2組で左列の数2個、右列も2個の場合3個数字を乱数で拾い4つ目を足し算・引き算 a+b-cで計算すればよいと思うが、 >マイナスの数は許さないのですよね 少し多めに作ってマイナスの分は捨てるなど、作題者・人間の判断(取捨)を入れてはダメですか。 ・エクセルでやらなくても、筆算や電卓でできると、思いますがエク セルを使う理由は、乱数発生ができるからですか。 >これはエクセル関数を使おうと思っているのですか。「列」という字が、エクセルを推測させますが、関数でやりたいのですね。VBAなら 少し自由にできそうです。 ・乱数作成は、エクセル関数では=INT(RAND()*90+10)で10以上99までの乱数を発生させます。毎回変わります。 ・順番をシャッフルするのはそれ用の列を(右側分だけ)作り、並べ替えすればできます。 ーー 以上、質問者の頭には、先頭の4つのことなど、決まって頭にあることです。 しかし回答者・読者には伝わりません。 また、条件によっては、回答に根本的な変更をもたらします。 質問の表現には、最新のご注意を。 プログラムやエクセル関数でも扱う人は、細かくならざるを得ないのです。 しかし「>8つづつ」などは、余り影響のない点です。ただし1万とかほどに増えると、作業的に、「チェックもやってられない」とかになって、仕方に影響しますが。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

先に左右の揃った問題を作ってから順番をばらばらに入れ替えたらどうですか。