- ベストアンサー
Excelで引き算の式を作りたい
Excelで数値がランダムに現れる小学生用の引き算の式を作っています。たし算の時は,rand関数で作れたのですが,引き算の場合は,引かれる数より引く数を小さくしないといけないので立ち止まってしまいました。 できるだけ簡単な関数で処理する方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
大きさが決まってればいいなら A1=ROUND(RAND()*100+10,0) A2=ROUND(RAND()*A1,0) でもいいのでは?これならA1≧A2になるので問題ないかと...
その他の回答 (4)
- alfon3
- ベストアンサー率30% (19/62)
塾講師をしている友人が計算プリントをエクセルで作ったときに、 以下のような話をしてました。 私自身はエクセル自体を使わないので、正しく伝えられないとは 思いますが、一助にしていただければ…。 小学生用なので低学年の場合は「桁数」がポイントになる。 RAND関数で桁数を指定して、 ROUNDUP関数でその数字を切り上げて 常に1以上「○○」以下の整数を乱数発生させる。 引き算の時は、RAND関数は数字の範囲を指定できるので、 「引かれる数」を常にある一定以上の範囲(例えば30以上)にし、 「引く数」を常にある一定未満の範囲(例えば29未満)にする。 「答え」のところは普通にセルを指定して引き算をさせる。 これで、常に計算可能な引き算ができる。 プリントアウト時には、「答え」の列を印刷しない指定をして、練習用に。 印刷する指定をして、答え合わせ用に。 「答えのセル」の位置を変えれば、逆算練習もできる。 以上の内容を話してくれました。 独学で…というか、ヘルプと首っ引きで作ったのが よほどうれしかったらしく、とうとうと語ってくれました。 うろ覚えなので、分かりにくいですね。 意味不明であれば無視してください。
お礼
ていねいな説明ありがとうございました。 参考にさせていただきます。
- hirorin00
- ベストアンサー率50% (446/884)
はじめまして 例えば A1には=INT(RAND()*50)+A2 A2には=INT(RAND()*50) これでどうでしょう。
お礼
ありがとうございます! とても使いやすいです。
こんにちは。 引かれる数値をA1、引く数値をA2、答えはA3とした場合。(ランダムに現れる数値は1~100の間として) A1 =INT(RAND()*100)+A2 A2 =INT(RAND()*100)+1 A3 = A1 - A2 一つのヒントとして、参考にしてください。
お礼
ありがとうございます。 使いやすかったです。
- edomin
- ベストアンサー率32% (327/1003)
これが正解と言うわけではありませんが、 ・rand関数を使って数字を2つ用意する。 ・大きい方から小さい方を引くようにする。(max関数と、min関数を使う) 例) セルa1 =max(e1,f1) セルb1 文字列の"-" セルc1 =min(e1,f1) セルd1 文字列の"=" セルe1,f1 =int(rand()*100) で、下にコピーしたあとe列とf列を非表示にします。
お礼
ありがとうございます。 早速やってみます。
お礼
お礼が遅くなって済みません。 確かに,いけますね。 ありがとうございました。