出た目で称号を獲得 出題者解答
以前のことですが、、、Q&A掲示板で
「0以上で最小値を求める式は?」と言う質問に
定番と言うか、決まりきった回答が付いていました。
{=MIN(IF(A1:A10>0,A1:A10))}
その時、一般式で出来るのにと
=LARGE(A:A,COUNTIF(A:A,">0"))
と回答を入れました。
この質問に一般式での回答は、過去無かったと思います。
そしたら直ぐ後に
=SMALL(A:A,COUNTIF(A:A,"<=0")+1)
「これでも出来ます」と、こんな回答が付きました。
何と言うか、、、情けないやら、哀しいやら。。。
それ以降この様な回答は思うだけで
無意識に避ける様になってしまったようで。
そんな考え方(式)は忘れようとしても溜まる一方。
その中の1つを使った問題でした。
:=INDEX(F:F,IF(C4=MAX(C:C),4,
MATCH(VLOOKUP(LARGE(C:C,COUNTIF(C:C,">"&C4)),C:D,2,),F:F,)+1))
(からくちさん談)
とりあえず、回答を投稿
短いのは配列を使うものしか思いつきませんでした。
配列数式で49
{=INDEX(F:F,COUNT(0/SUMIF(C:C,C4+ROW($1:10)))+4)}
同じく48
{=INDEX(F:F,COUNT(MATCH(C4+ROW($1:10),C:C,))+4)}
この二つはRow(A:A)に変えれば2文字へりますが・・・・・
Matchの方を46にすると、マシンのスペックにもよるでしょうが、数分から数十分
ハング状態になります。 お試しあれwww
後は配列使用でCTRL+Shift+Enter不要の53です。
=INDEX(F:F,COUNT(0/FREQUENCY(C:C,C4+ROW($1:10)-1))+3)
配列を使用しないのは、48を配列の変わりに10項目ならべた191
=INDEX(F:F,COUNT(MATCH(C4+10,C:C,),MATCH(C4+9,C:C,),MATCH(C4+8,C:C,),MATCH(C4+7,C:C,),MATCH(C4+6,C:C,),MATCH(C4+5,C:C,),MATCH(C4+4,C:C,),MATCH(C4+3,C:C,),MATCH(C4+2,C:C,),MATCH(C4+1,C:C,))+4)
もう一つ、疑惑の61
=INDEX(F:F,COUNT(0/FREQUENCY(C:C,ROW(INDIRECT(C4&":12"))))+3)
直接1:12を参照してるんじゃないから、配列は使ってないと屁理屈言って見るwww
これから模範解答を拝見しまーーす^^
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 08時05分
>そしたら直ぐ後に
>=SMALL(A:A,COUNTIF(A:A,"「これでも出来ます」と、こんな回答が付きました。
>何と言うか、、、情けないやら、哀しいやら。。。
うーーん、、、わかるーーーー
・・・・・・・・
で、呑んだから、、、まだ、、本回答は
しゃぶってませんです。
投稿情報: | 2009年9 月26日 (土曜日) 午後 08時06分
>FREQUENCY????
あーーーなんだっけーーー
また忘れたのだ、、、
SAKUDAさん、、すごいですーーーー
投稿情報: | 2009年9 月26日 (土曜日) 午後 08時16分
>配列は使ってないと屁理屈言って見る
はい、確かに
FREQUENCYだけでも、、、
プラス ROW(-:-) この使い方
投稿情報: からくち | 2009年9 月26日 (土曜日) 午後 08時25分
からくちさんのやっと分かりました。
リカーシブになってるんだ^^;
唖然として、あっ!やられた!って言う感覚もなく、ただただ感心するばかりです。
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 08時26分
> =LARGE(A:A,COUNTIF(A:A,">0"))
これ、しゃぶってみた・・・・
う・・・・・
うんうん、、、するめの味と、甲乙つけがたい。
いい味だなーーーー
投稿情報: ジョー3 | 2009年9 月26日 (土曜日) 午後 08時28分
実は最初にできたのが↓の71です。
今考えるとなんで、こんなややこしいこと考えたのか良く分からないのですが、式としては気に言ってます^^
=INDEX(F:F,15-FREQUENCY((FREQUENCY(C:C,ROW($2:$11))>0)*ROW($2:$12),C4))
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 08時28分
出題者解答の説明など必要ないでしょうが、、、
対象より1つ大きい数字の称号をVLOOKUPで得て
その1つ下の称号をINDEX(MATCH で拾って来る
従いましてD4に式を入れただけでは、D4は正しい値が得られません
すべてのセルに式を入れて初めて完成です
夫々得た値が、他のセルの参照になるのですから
投稿情報: からくち | 2009年9 月26日 (土曜日) 午後 08時33分
>出題者解答の説明など必要ないでしょうが、、、
そうでもないです。
解読して納得できるまで、20分もかかったw
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 08時41分
>式としては気に言ってます^^
わたしの場合
良い式か否か、殆ど考えません
好きな式か否か、すごく違いが出ます
もちろん他の人には、その差は分からないでしょうが
でも、、、それでいいと思っています
投稿情報: からくち | 2009年9 月26日 (土曜日) 午後 08時42分
himiさんから預かった回答です。
--------------------------------
himiです。
普通に思いついたのはこれだけです。思いついただけいいことにしようw
【423文字】
=INDEX(F:F,3+RANK(C4,C:C)-(RANK(C4,C:C)>1)*(MAX(C:C)=LARGE(C:C,2))-(RANK(C4,C:C)>2)*(LARGE(C:C,2)=LARGE(C:C,3))-(RANK(C4,C:C)>3)*(LARGE(C:C,3)=LARGE(C:C,4))-(RANK(C4,C:C)>4)*(LARGE(C:C,4)=LARGE(C:C,5))-(RANK(C4,C:C)>5)*(LARGE(C:C,5)=LARGE(C:C,6))-(RANK(C4,C:C)>6)*(LARGE(C:C,6)=LARGE(C:C,7))-(RANK(C4,C:C)>7)*(LARGE(C:C,7)=LARGE(C:C,8))-(RANK(C4,C:C)>8)*(LARGE(C:C,8)=LARGE(C:C,9))-(RANK(C4,C:C)>9)*(LARGE(C:C,9)=MIN(C:C)))
同じ考えで配列数式【118文字】
=INDEX(F:F,3+RANK(C4,C:C)-SUM((LARGE(C:C,ROW(A:A $1:$9))-LARGE(C:C,ROW(A:A $2:$10))=0)*(RANK(C4,C:C)>ROW(A:A $1:$9))))
やっぱり反則?だったらこちらで133文字
=INDEX(F:F,3+RANK(C4,C:C)-SUM((LARGE(C:C,{1,2,3,4,5,6,7,8,9})-LARGE(C:C,{2,3,4,5,6,7,8,9,10})=0)*(RANK(C4,C:C)>{1,2,3,4,5,6,7,8,9})))
投稿情報: くまぷー | 2009年9 月26日 (土曜日) 午後 08時43分
himiさんの、"普通におもいついた"っておっしゃってもよう分からんかった。
自分より上の重複の数を数えてるってことかな?
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 09時36分
遅れまして申し訳ありません。
分類が配列になってしまってなんなんですが
これしかありませんので・・・
68:=INDEX(F$4:F13,SUMPRODUCT((C$4:C$13>=C4)/COUNTIF(C$4:C13,C$4:C$13)))
投稿情報: くまぷー | 2009年9 月26日 (土曜日) 午後 10時10分
くまぷーさんの、良く見る形なんですが、私はいざとなるとこういうの上手く作れないです^^;
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 10時30分
携帯からです。
出題者解答ようやくわかった!あざやかだなあ〜。他の結果を使ったら循環参照になるかなあと思ったけど上手く作れるんですね〜
VLOOKUPの第1引数はRANK(C4,C:C)-1も使えるのかな?試せないので自信薄だけど。
sakudaさんの、なるほどです!こうすれば種類を数えられる〜。
くまぶーさんの気に入ってます。各出目の数をCOUNTIFで数えて合計すると2乗の和で面白いと思ったけど自分ではなんとも使えなかった^^;
私のはsakudaさんのおっしゃる通りです。字数制限も間近で出題意図とは程遠い…^^;
投稿情報: himi | 2009年9 月26日 (土曜日) 午後 10時56分
すみません。身内に不幸がありまして
ちょっと顔を出せなくなりますが
よろしくお願いいたします。
次回の問題はsakudaさんのものを
予約投稿しておきます。m(__)m
投稿情報: くまぷー | 2009年9 月26日 (土曜日) 午後 11時10分
>すみません。身内に不幸がありまして
>ちょっと顔を出せなくなりますが
大変ですね。
ご苦労さまです。
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 11時18分
>出題者解答ようやくわかった!あざやかだなあ〜。他の結果を使ったら循環参照になるかなあと
そうなんですよね。私も解読している時、これ循環にならんのかしら?って思いました^^
でも、要するに、皇帝がきまり、次が決まりで、順次再計算がかかって最後に全部めでたし、めでたしって訳ですw
まあ、とにかく唖然の一言です^^
投稿情報: y sakuda | 2009年9 月26日 (土曜日) 午後 11時21分
>まあ、とにかく唖然の一言です^^
ですね~。(再帰・・・)
探索ソフトを作ってる者として・・・
これに気づかなかったことが、、
ショック☆☆ショック
まいりヤシタ m(_ _)m
投稿情報: supermab | 2009年9 月27日 (日曜日) 午前 08時19分
今、じっくり式を見つめてみました。
見ればなるほどなーー・・・・と、思いそうになるけど、、、
1)では、自分で一気に書けるか?
2)似た問題を、同様に解けるか?
3)あまりにて無くても、応用できるか?
・・・・・・自信ない。・・・降参です。
からくちさん、、作戦がすぐ、式になるんですねーー凄いです。
投稿情報: ジョー3 | 2009年9 月27日 (日曜日) 午後 02時40分
皆さんを、勇気付けるために
素朴なやつも、、、いいかな~?
素朴な235文字:
=OFFSET(F$4,
(COUNTIF(C:C,C4+1)>0)+
(COUNTIF(C:C,C4+2)>0)+
(COUNTIF(C:C,C4+3)>0)+
(COUNTIF(C:C,C4+4)>0)+
(COUNTIF(C:C,C4+5)>0)+
(COUNTIF(C:C,C4+6)>0)+
(COUNTIF(C:C,C4+7)>0)+
(COUNTIF(C:C,C4+8)>0)+
(COUNTIF(C:C,C4+9)>0)+
(COUNTIF(C:C,C4+10)>0),0)
の、配列版63文字
=OFFSET(F$4,SUM(N(COUNTIF(C:C,C4+{1,2,3,4,5,6,7,8,9,10})>0)),0)
ちと、恥ずかしいけど・・・
こんなもんで勘弁してチョ!
投稿情報: supermab | 2009年9 月27日 (日曜日) 午後 06時23分
supermabさんの私の配列数式と発想同じですね。
CountIFを字数節約のため、SumIFに変え、次に、Trueを数えるだけならと、Falseの所をエラーにして、Countに変更。
さらに、存在する値以外のところはエラーが出れば何でもいいということでMatchに変更。
それで、48までダイエットしました。
投稿情報: y sakuda | 2009年9 月27日 (日曜日) 午後 06時36分
そう言えば、ジョー3回答だしてくれないのかな?
投稿情報: y sakuda | 2009年9 月27日 (日曜日) 午後 06時42分
>そう言えば、ジョー3回答だしてくれないのかな?
う・・・うん・・・・忘れてた。
必要もないだろけど、、、
最初の、ふふふ、、、限定で、、一時トップのころ。・・・
=INDEX(F:F,
(SUMIF(C:C,C4+1)>0)+
(SUMIF(C:C,C4+2)>0)+
(SUMIF(C:C,C4+3)>0)+
(SUMIF(C:C,C4+4)>0)+
(SUMIF(C:C,C4+5)>0)+
(SUMIF(C:C,C4+6)>0)+
(SUMIF(C:C,C4+7)>0)+
(SUMIF(C:C,C4+8)>0)+
(SUMIF(C:C,C4+9)>0)+
(SUMIF(C:C,C4+10)>0)+
4)
あらら、、、、間違ったかも、、、、
過去のは、なくなったから、、
投稿情報: jyo3 | 2009年9 月27日 (日曜日) 午後 09時02分
やっぱり・・・
投稿情報: supermab | 2009年9 月27日 (日曜日) 午後 09時16分
ジョー3ありがとうございます。
でも、これ214ですが、198とかなんとかおっしゃってませんでした?
無くしちゃったのかな?
投稿情報: y sakuda | 2009年9 月27日 (日曜日) 午後 09時28分
あはは、、なんかねーーー
そのあと、、
sumで、、ちょっと短縮した気がする。
・・・・どっかへ、行っちゃった。
っていうか、、、
次々変更しても、、、残してなかった。
投稿情報: jyo-3 | 2009年9 月27日 (日曜日) 午後 09時39分
なるほど・・・
10段重ね、、、と言った式か
と言うことは「数字を作る その3」が出題されれば、、、45段重ねの式が見られるのかな
投稿情報: からくち | 2009年9 月27日 (日曜日) 午後 10時29分
同じ方向でもバリエーションがいろいろあって面白いです〜どこかで応用してみたいなあ…なかなか思い付きそうにないけど(^^ゞ
引き出しを増やすのも難しく、使いこなすのはさらに難しい…
投稿情報: himi | 2009年9 月27日 (日曜日) 午後 10時56分
>と言うことは「数字を作る その3」が出題されれば、、、45段重ねの式が見られるのかな
うっ!
また難問になりそう^^;
投稿情報: y sakuda | 2009年9 月27日 (日曜日) 午後 11時28分
>45段重ねの式が見られるのかな
('〇';)グェッ!
投稿情報: supermab | 2009年9 月28日 (月曜日) 午後 06時27分
>45段重ねの式が見られるのかな
請うご期待・・・・なんちゃって、、、、
おいおい、、、何文字になるんじゃい。
投稿情報: jyo-3 | 2009年9 月28日 (月曜日) 午後 06時37分
>おいおい、、、何文字になるんじゃい。
45文字以上でしょう
投稿情報: からくち | 2009年9 月28日 (月曜日) 午後 07時24分
>45文字以上でしょう
あまーーい・・・・・
きっと、、、
10段がさね、、、
450文字以上は、確実なのだ。。
ん、、、、、
おれが、、、威張ること出来ないかも、、、、、
まあーーーいいか、、、、
投稿情報: jyo-3 | 2009年9 月28日 (月曜日) 午後 07時31分
>10段がさね、、、
・・・・・
45段がさね、、、、だった。
。。。。。
今日も、のんでるのーーーーだーーれだ、、、
投稿情報: ジョー3 | 2009年9 月28日 (月曜日) 午後 07時33分
呑んでますけどwww
でも、今日は呑まないつもりだった・・・
のに、呑んでしまった。。。
アル中かも ^^;;;;;
投稿情報: supermab | 2009年9 月28日 (月曜日) 午後 07時49分