エクセル INDIRECT関数
2007-09-23 06:41:58 (16 years ago)
ゲーム感覚で4文字熟語を学ぶエクセルを作っている方がいらっしゃいます。
上の図のように、穴埋め問題として、2行目にある候補を正しい場所に持ってくると、問題番号位置に正解と表示し、全問正解すると1行目におめでとうございますと表示するというものです。(ここでは2問目以降は割愛しています)
ここで、A3に=IF(C4="中","正解","1.")という関数を書きます。C2にある正解である”中”をC4にマウスでドラッグしてもってくると#REF!の参照エラーになってしまいます。
エラーにならないようにするにはどうしたらいいでしょうか?と相談を持ちかけられました。
確かにやってみるとそうなります。C2をC4にコピーするのならエラーにはなりません。コピーではどうですか?と申し上げると、それでは、C2をC4に持っていったという感じにならないので、移動でできないか?ということです。
ちょっと時間を戴いて考えてみることにしました。
コピーをしたあと、元のセルをクリアするマクロをつくってみたのですが、一般的になりません。
数日後、「どうもうまくゆきません。ちょっと降参です」と話したら、INDIRECT関数でうまくいったとのことです。
F4に=INDIRECT("c4")と書いておき、A3に=IF(F4="中","正解","1.")とF4をみることにします。F4はC4をINDIRECT関数でみているので、参照エラーにはならないというわけです。
うまい方法ですね!
まだまだ学ぶことはたくさんたくさんありますね!
- 前の記事:千葉市科学館の開館直前研修 その3
- 次の記事:通信制高校の物理レポート
- Calendar
<< May 2024 >> Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
- search this site.
- tags
-
- 未分類 (374)
- archives
-
- 201401 (2)
- 201305 (1)
- 201303 (1)
- 201301 (1)
- 201212 (1)
- 201211 (1)
- 201210 (1)
- 201209 (3)
- 201208 (4)
- 201207 (2)
- 201206 (3)
- 201205 (5)
- 201204 (1)
- 201203 (2)
- 201107 (1)
- 201105 (2)
- 201104 (4)
- 201007 (3)
- 201006 (5)
- 201005 (5)
- 201004 (10)
- 201003 (1)
- 201002 (21)
- 201001 (31)
- 200912 (31)
- 200911 (8)
- 200910 (11)
- 200909 (4)
- 200908 (1)
- 200907 (2)
- 200906 (1)
- 200905 (5)
- 200904 (5)
- 200903 (3)
- 200902 (1)
- 200901 (2)
- 200812 (10)
- 200811 (4)
- 200810 (5)
- 200809 (10)
- 200808 (6)
- 200807 (9)
- 200806 (15)
- 200805 (31)
- 200804 (30)
- 200803 (31)
- 200802 (29)
- 200801 (31)
- 200712 (31)
- 200711 (30)
- 200710 (31)
- 200709 (30)
- 200708 (31)
- 200707 (31)
- 200706 (30)
- 200705 (31)
- 200704 (30)
- 200703 (31)
- 200702 (28)
- 200701 (31)
- 200612 (31)
- 200611 (30)
- 200610 (30)
- 200609 (27)
- 200608 (7)
- 200607 (1)
- recent trackback