- 締切済み
これをエクセルで・・・
エクセルのifと乱数を使った方法で自分で問題を作りたいです。問題の順番は乱数によっていくらでも変えられ、でも隣のセルには決まった答えがでたら「○」や違ったら「×」を出したいのです。でもやり方がよくわかりません。どうセルにいれたらそういう風にできますか??というかこれは可能なことなのでしょうか??よろしくお願いしまうす。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
公文式教室の小学校1年生の問題を想像して。 Sheet1の」A1:c7に 番号 問題 解答 1 1+2= 3 2 1+3= 4 3 1+4= 5 4 1+5= 6 5 1+6= 7 6 1+7= 8 7 1+8= 9 関数式はなし。答えはC列に出しておく。 コンピュタで計算できない答えもあるから。 (例)鎌倉幕府の創設年は?答え、1192年はコンピュタで計算できない。 Sheet2のA1:D1は見だし 番号 問題 解答 正解 それとF1:F7にランダムに1-7の数字を入れる。例えば 3 5 2 1 7 6 4 A2に式=OFFSET(Sheet1!$A$1,F1,0) B2に式=OFFSET(Sheet1!$A$1,F1,1) C2には式なし。 D2に式=IF(C2=OFFSET(Sheet1!$A$1,F1,2),"○","×") そしてA2:D2をA8:D8まで複写する。 例えば 番号 問題 解答 正解 3 3 1+4= 5 ○ 5 5 1+6= 7 ○ 2 2 1+3= 6 × 1 1 1+2= 3 ○ 7 7 1+8= 9 ○ 6 6 1+7= 6 × 4 のようなものです。 残るは(1)問題文が1行だけでない場合式はどうなる(2)解答が全文一致でない正解ありや数量でないとき(3)Sheet2のF列の乱順序数をどうするか(4)採点はどうするかなど問題山積なように思います。 Sheet2の番号列は!、2、・・にした方がよいかも。 取りあえず思いつくまま。
- sero
- ベストアンサー率47% (916/1944)
問題と解答が既に入力されているのであれば可能です。 但し、RAND関数は何処かのセルが変更されると再計算が行われ、 その都度問題の順番が入れ替わってしまいますので、そのブックに 解答を入力する事は出来ません。 (問題順番決定用にマクロを組む必要があります)
- shiga_3
- ベストアンサー率64% (978/1526)
想定されているものとは違うかもしれませんが、並べ替えにマクロを使った方法です。といっても並べ替えの操作を行ってその過程を記録してボタンに登録するだけです。 A列からE列まで、通し番号欄、問題欄、解答記入欄、判定欄、正解欄とし、一つ飛ばしてG列を乱数欄にして、 1)D1に=IF(OR(B1="",C1=""),"",IF(C1=E1,"○","×")) G1に=RAND() として以下コピーします。 2)正解欄は問題を解く時のみ、列を選択→右クリック→表示しないで非表示に、乱数欄は常時非表示にしておく。 次に、並べ替えのマクロを作成します。 3)ツール→マクロ→新しいマクロの記録で適当な名前を付けてOK。(ここで「記録・・・」と書かれた小さいツールバーが表示されます) 4)A列からG列までを選択してデータ→並べ替えで最優先されるキーを「列G」としてOK。並べ替えられたところで適当なセル(例えばA1)をクリックして範囲選択解除 5)「記録・・・」ツールバーの■の方のボタンを押して、記録を終了します。 あとは、このマクロをツールバーにボタンを作ってそれに登録します。 6)ツール→ユーザー設定→コマンドタブの分類で「マクロ」を選択。ユーザー設定ボタンをドラッグして既存のツールバー(またはツールバータブ→新規作成で新しく作っても良いと思います)の上まで持っていってドロップ。 7)登録されたボタンを右クリック→マクロの登録で先ほど登録したマクロを選択→OK 以上で、問題を始める前にボタンをクリックすれば順番が入れ替わります。 場合によっては2)の操作もマクロで登録しておくと少しは手順が省けると思います。