問題はこちらを参照。
第一弾では未受験者がいませんでした。しかし、第二弾ではQ太郎君が
未受験なので、空欄に対応した数式にしなければなりません。
(●`ε´●):おまえの数式(三四郎版下記)では未受験者が1位になって
しまうな。
=If(IsError(Count(Search(">" & B2,B$2:B$11))),1,Count(Search(">" & B2,B$2:B$11))+1)
【´・ω・`】:うん。B2の者が最高得点だった場合はSearch関数はそれを超える得点は
見つけられないのでエラーになる。
(●`ε´●):最高得点を超える得点があるはずないからな。
【´・ω・`】:ということでエラーが起きたとき、その者を1位とするというのが上式の
意味なんだけど、式中のIsError関数は空欄と数値を比較したときにも
真になるので1になってしまう。
(●`ε´●):それは問題だな。
【´・ω・`】:で、下が未受験ありに対応させた数式だ。未受験(空欄)は最下位になる。
【解答】
=If(IsError(Count(Search(">" & Num(B2),B$2:B$11))),1,Count(Search(">" & Num(B2),B$2:B$11))+1)
(●`ε´●):第三弾がありそうだな。
【´・ω・`】:わかる?
これでは、空白も、0点も、
同じ最下位になってしまいますね。(^^)(^^)
もちろん、分かっててやっているんで、
だから、次の第3弾が、空白と0点の区別、
ということになるのでしょうか?
で、第四弾で、空白の代わりに、「欠」等の文字列にも対応、となるのでしょうか?(^^)ゞ
(ちなみに、先に第2弾の解答として作ったもので、
どちらにも対応していますが・・・(^^;)(^^;)
投稿情報: 悪児 | 2007年7 月18日 (水曜日) 午前 01時31分
ははは、展開がバレバレですな(^^ゞ
どうしよう、このまま予定通り第3弾に行くか、それとも飛ばして違うお題にするか?
考え中・・・、考え中・・・。(^。^)
投稿情報: くまぷー | 2007年7 月18日 (水曜日) 午前 05時56分
悪児さん同様、完全版作ってあるんですが、出題にマッチした回答だしておきます。
前問題の解答
=DCount(B$1:B$11,1,{{1,”>” & B2}})+1
それに2文字足しただけ。
=DCount(B$1:B$11,1,{{1,">" & 0+B2}})+1
0+B2 がミソ。(^^)~
投稿情報: きっちー | 2007年7 月18日 (水曜日) 午後 03時29分
>完全版作ってあるんですが、出題にマッチした回答だしておきます。
ははは、気を遣っていただきどもです。
>0+B2 がミソ。(^^)~
=DCount(B$1:B$11,1,{{1,">" & Num(B2)}})+1
とNumを使う代わりの手ですね。
数値化の手段は色々ありますよね。
=DCount(B$1:B$11,1,{{1,">" & B2*1}})+1
=DCount(B$1:B$11,1,{{1,">" & --B2}})+1
=DCount(B$1:B$11,1,{{1,">" & B2-0}})+1
=DCount(B$1:B$11,1,{{1,">" & B2/1}})+1
とか・・・
さらには2文字ではなく1文字加えて
これでもOKですよね。(^。^)
=DCount(B$1:B$11,1,{{1,">" & +B2}})+1
投稿情報: くまぷー | 2007年7 月18日 (水曜日) 午後 06時21分
くまぷーさんの解答で
=If(IsError(Count(Search(">" & Num(B2),B$2:B$11))),・・・・・
検索エラーを判定するのだから、
=If(IsError(Search(">" & Num(B2),B$2:B$11)),・・・・・
でもいいわけですね。
投稿情報: きっちー | 2007年7 月18日 (水曜日) 午後 09時44分
あ、いかん、見落とした。
無駄なことをやってしまった。
orz....
投稿情報: くまぷー | 2007年7 月18日 (水曜日) 午後 10時06分