« 第57回 2人の女王Ⅱ | メイン | 第58回 魔方陣 »

2010年4 月24日 (土曜日)

コメント

y sakuda

取りあえず回答を投稿します。

結局、88が最短でした。
{=LEFT("Q",RAND()>0.7+INT((SUM(LEN($A3:A3),LEN($B$2:$D2))^2-(ROW()=5)*(COLUMN()-2))/2))}

INT内の第2項の方に、Areas系も試みたのですが、90止まりでした。
{=LEFT("Q",RAND()>0.7+INT((SUM(LEN($A$3:A$5),LEN(B$2:B2))^2-ISREF(C:C $E5)*(ROW()-3))/2))}

ここの常連さんに解説は不要だと思いますが、素直にやったと強調しましたので、考え方を簡単に書いておきます。

1.B2からD2、A3からA5 つまり上辺と左辺が空欄になっているところを利用しています。
2.INT内の第1項は、当該セルより前のセルにQが一つの場合1、二つの場合2になります。
  それを二乗してますので、0,1,2⇒0,1,4となります。
3.第2項が0の場合は、単純に、Qが0か1の時は適宜の確率でQが入ります。(提示のケースでは30%)
  2の時はRand()>2.7の条件が満たされることはないので、空欄になります。
4.88の式と90の式で縦横がひっくりかえっていますが、88の式の場合、C5ではそれ以前のQが0個の場合と
  D5でそれ以前のQが1個の場合、第2項は-1、-2になります。
5.4の条件になった場合、Intの結果は-1となり、100%Qが入ることになります。

jyo3

nowを使おうと思った。
しかし、、やめた。

ジョー3

>Areas系も試みたのですが、
あはは、、実は私もやりかけた。

y sakuda

ジョー3の解読しました。
実のことを言うとRandBetweenを配列数式で使うと、同じ乱数が入るっての知らなかった^^;

jyo-3

>実のことを言うとRandBetweenを配列数式で使うと、同じ乱数が入るっての知らなかった^^;

確か、からくちさんが、、以前見せてくださいました。
(うわーーと思ったので奇跡的に覚えていた)

y sakuda

>確か、からくちさんが、、以前見せてくださいました。
全然覚えてない^^;

でも、からくちさんが
>唯一の頼りを使えない以上
とおっしゃってたのこれのことかな?


ジョー3

自分の分析:
{=MID(" QQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q",randbetween(0,6)*10+randbetween(0,8)+ROW()*3+COLUMN()-10,1)}

9セルにQの出現率はほぼ、、、満足。

だが、、、
B3&C3
B3&D3
・・・・
36種類?の出現率は、、ちょっと、満足できないのです。
この理由が分かってない・・・・じょー

くまぷー

またまた、蚊帳の外だった。
晒せるようなものがない・・・(T.T)

からくち

完璧版とは、、、言えませんが

=REPT("Q",COUNT(FIND(COLUMN()*3-8+ROW(),RIGHT(NOW())&RIGHT(SUBSTITUTE(NOW(),RIGHT(NOW()),)*1))))


>>唯一の頼りを使えない以上
>とおっしゃってたのこれのことかな?
いえ、、、NOW関数です

からくち

使用目的が分かりませんが、、、と言うより
使用目的など無い、、、とするなら(実用では無い)
発表は致しませんが、インチキ版なら、、、69

通りすがり

他人のふんどしで87

=LEFT("Q",RAND()>0.7+INT(((COUNTIF(C1:D5,"Q")+LEN(B4&B5))^2-(5-ROW())*(COLUMN()=2))/2))

y sakuda

からくちさんのNowはやはり時々エラーになりますね。
しかし、まとめ方はさすが^^
私はNowは早い段階で放棄しましたが、150前後しかできませんでした。
例えば秒単位ですので反応は悪いですが135
{=IF(ISERR(FIND(ROW()*3+COLUMN()-10,LARGE(--IF(ROW($1:$9) エラーが頻発する165
{=IF(OR(((ROW()-3)*3+COLUMN(C3))=--MID("121314151617181923242526272829343536373839454647484956575859676869787989",MOD(LEFT(RIGHT(NOW(),4),2),36)*2+{1,2},1)),"Q","")}

通りすがりさんのは私とほぼ同じ発想だと思うのですが、B列の処理が今一分からない・・・・

からくち

>やはり時々エラーになりますね。
その1:他に沢山の式が入っている(特に揮発性の)
その2:エクセルの処理能力があまり良くない(失礼)

たった9セルなので上記が考えられます

しかし、、、そこにこの式(NOW関数)の弱点があります
考えてみれば当たり前の事なのですが
今まで考えても見なかった、、、考える必要もなかったけど
でもこの当たり前のことが不思議と頭から外れている

min

この問題見た瞬間にRANDBETWEENと一筆書きの「侵入者」が浮かんだ。
Q1個なら秒殺なのだが、今回は2個
しかも、問題には
>但し、B3の式を他のセルにコピーするものとする。
と明確に書いてあるから範囲選択してから式を確定させるのはいいのだろうかと迷った。

困った、そして、時間もなかった。
配列数式でいいのなら、イメージ的には
{=OR(ROW()+(COLUMN()-1)*3-6=MOD(RANDBETWEEN(0,8)+{1,0}*RANDBETWEEN(1,8),9))}
こんな感じ(あくまでもイメージ)で何とかしたかったがうまくいかなかった。


NOWは等確率という意味では使うつもりはなかっのですが、一応は式にしてみました。
さっき帰ってきたばかりなので皆さんの式は明日にでも見てみます。

y sakuda

>この問題見た瞬間にRANDBETWEENと一筆書きの「侵入者」が浮かんだ。
両方とも全く浮かばなかったwww

む印

遅くなりました、、

87
{=MID("Q"&REPT(" ",MOD(RIGHT(NOW()),8))&"Q",MOD({1,2,3}+{0;3;6}+RIGHT(NOW()*9),9)+1,1)}

87からMODを外して82
{=MID("Q"&REPT(" ",RIGHT(NOW())/2)&"Q",MOD({1,2,3}+{0;3;6}+RIGHT(NOW()/9),9)+1,1)}

87の変形で87
{=TEXT(MID(10^INT(RIGHT(NOW())/2)&1,MOD({1,2,3}+{0;3;6}+RIGHT(NOW()*9),9)+1,1),"Q;;")}

どれも配列式で、B3:D5を選択して式を入力(Ctrl+Shift+Enter)

今日はだいぶ飲んだので、間違ってたらお許しを、、、、へくっ!(*o*;

y sakuda

む印さんのしばらく何をやってるのか見当が付かなかったです。
ただ、理由はしりませんが、10000回試行しても、1回も現れないパターンが発生するようです。
87版では、38、39、58、89の組み合わせが発生しません。
なんでだろ?

jyo3

nowの問題点は、以前からあたまにあった。
でも、1000回に1回ぐらいなら。。。許そうかと、思った。
が、、、赤いのがちらちら、、、多すぎる。
1秒単位ぐらい・・・・・?・・・・むむ・・・・と、ぼつにして、

sakudaさんと似た方法で、頑張ろうとしたが、・・・・長すぎ・・・・ぼつ

何人かの方が、完成・・・私は、、、苦し紛れの・・・・
ルール違反で、(すんません、いきづまったもんで)
・・・・・・
今回は、(も)・・・完敗・・・・

ジョー3

nowも同時配列(言葉が変?)
む印さんの言葉で、
>どれも配列式で、B3:D5を選択して式を入力(Ctrl+Shift+Enter)
同じ時間になって、今回使えますねーーー
・・・・
この手で、
nowか
randbetweenか
迷ったが、
・・・・・

y sakuda

>>どれも配列式で、B3:D5を選択して式を入力(Ctrl+Shift+Enter)
>同じ時間になって、今回使えますねーーー
実はこれも知らなかったw

む印

チェックを怠りました、、
87版はダメみたいですねー(^^;

他のは何とかいけるみたいですが…。


しかし、Randbetweenのこの特性は知りませんでした、、、、

min

私も「侵入者」ではじめて知りました。
衝撃的でした。

お仕事中

y sakuda

>87版はダメみたいですねー(^^;
しかし理由が良く分からないんですが、む印さん解明されましたか?

y sakuda

しかし・・・・
これで、また在庫がなくなったんですよね>くまぷーさん

くまぷーさんから常連さんへの挑戦状で、「できるものならやって見ろ」風の出題でもできませんか?

jyo3

よくみたら、、、↓

{=IF(OR(((ROW()-3)*3+COLUMN(C3))=--MID("121314151617181923242526272829343536373839454647484956575859676869787989",MOD(LEFT(RIGHT(NOW(),4),2),36)*2+{1,2},1)),"Q","")}

わたしの148と、、、発想がおんなじっぽいですねーーー

くまぷー

>くまぷーさんから常連さんへの挑戦状で、「できるものならやって見ろ」風の出題でもできませんか?

無責任にただ出すだけなら
できますけど・・・
出題者解答例は・・・(^^ゞ

jyo3

で、nowのもうひとつの面白い点ですが、、、
right(now())  で、、
0はないのと、、、
1~9の比率が違うところが面白い。
=RIGHT(TEXT(NOW(),"s"))
だと、0~9まで、、同比率だけど、、、

・・・・・かな、、、、、、???

jyo3

>無責任にただ出すだけなら
>できますけど・・・
良いと、思う・・・・
だって、、、
不可能であっても、怒る人は、、、参加してないと思うから、、、
・・・・・・・・

くまぷー

>良いと、思う・・・・

それで構わないのならば
いくつかあります(^^ゞ

y sakuda

>不可能であっても、怒る人は、、、参加してないと思うから、、、
と思います×2
それと出題時にオレは出来ないと宣言しとけば・・・・

y sakuda

>わたしの148と、、、発想がおんなじっぽいですねーーー
初めからパターンを全部用意してます。
しかし、ジョー3の方は一つのパターンをずらしながら使っているので、ベターだと思います。

む印

>む印さん解明されましたか?
・・・きのう酔ってたからかっ?!
87版(2種)を良く見たら間違ってました、、、

 誤>MOD({1,2,3}+{0;3;6}+RIGHT(NOW()*9),9)
                        ↓
 正>MOD({1,2,3}+{0;3;6}+RIGHT(NOW()/9),9)

「掛ける」と「割る」で違うようですが、私も理屈がちゃんと解ってませんm(__)m


jyo3

>それで構わないのならば
>いくつかあります(^^ゞ

ほほーーーー
だせだせ、、、、

あ、、、、、

無責任な、問題には、、、
責任を持って、答える責任がないから。。。

解く方もだね、、、・・・・・めっちゃ、、、


気楽なのだよ、、、、

一人も、コメントでないってことは、、、、、、

ないと思うから、、くまちゃんもおきらくにねーーーーーー

y sakuda

>一人も、コメントでないってことは、、、、、、

少なくとも、こりゃ無理ってコメントがいくつかあるはずw

jyo3

>・・・きのう酔ってたからかっ?!
ほほーーーー
おれもだねーーーー

水木金、忙しくて、
土は、、、会議+歓迎会で、、、、呑んだ、、、、、、、、、、、、、くれ、、、、、、

解答例が間に合わないかと、あせったのだった、、、、、

jyo3

>少なくとも、こりゃ無理ってコメントがいくつかあるはずw
んだんだ、、、、、


あとですね、、、、

できないはずができたら、、、、

くまちゃんから、、、賞金が、、、


・・・・・・

うっ・・・・・・

10万円とか、、、、

y sakuda

>「掛ける」と「割る」で違うようですが、私も理屈がちゃんと解ってませんm(__)m
修正したら、87も86もOKですね。
しかし・・・・・
元々なんで Now()を9で割らなきゃいけないのか分からないw

くまぷー

>くまちゃんから、、、賞金が、、、
>10万円とか、、、、

それはない・・・きっぱり( ̄^ ̄)
ジョー3さんのようにお金持ちではないから・・・

10万円なら元祖エクセルコンテストよりも
いい賞品が出せるような気がする・・・

からくち

10万円いただけるなら、どんな問題でも即、解きます
ありがとうございます


ツ・イ・デ・ニ・・・
この問題の場合は関係ありませんが、、、
それでも臆病なわたしは、この使い方のLEFTは使用しない
その理由:
=LEFT("Q",0.9999999999)
=REPT("Q",0.9999999999)

jyo3

>それでも臆病なわたしは、
へーーーー
7・・・・・・

私も臆病になりそう・・・・・
わすれそうだから、、、、、

jyo3

left??

right も、、ついつい、、、、だよねーーーー

jyo3

あ、、、おもいだした、、、

似たことやってたのだ、、、、
(まったく同じではないような気がした・・・・たしかに、、、)

9999999  のついでに、、
9999995  と
9999996  で、、、

むむーーーってね、、、

jyo3

あれーーー、、、midは???

3日たったら、、、忘れる、、、きっと、、、

jyo3

あはは、、、
ここに書き込みがないので、、、
別なほうで、、、遊んできた、、、

で、、、ここにもっとお客さんが来ないかなーーー

って、思いながらねーーー

くまぷー

>で、、、ここにもっとお客さんが来ないかなーーー
>って、思いながらねーーー

ありがとうございます。
お一方お一方のそういう草の根運動には
いつも感謝致しております。m(__)m

jyo3

>ありがとうございます。
あのねーーーー
でもねーーーー
あそこもあんまりこないのだよーーー
(きょうは、、30人ぐらい来たけど!!)

それよりか、、挑戦問題・・・・・

早く出さないと、、、sakudaさんが、、、退屈してるかもーーー
・・・・・・・・

y sakuda

>sakudaさんが、、、退屈してるかもーーー
退屈はしてません。
実は以前くまぷーさんと3×3の別問題をどうすべーかと言う話をしてました。
元々「こんなもんできないだべ」と言う代物ですから、一筆書きでは無理っぽい・・・・
でも、ワークセル使えばなんとかならないかと思い今日の往復の電車の中で考え、
帰宅してからやってました。
何とかなっちゃうもんですねーー^^
出題するかどうかは大家さんまかせです。

y sakuda

>sakudaさんが、、、退屈してるかもーーー
退屈はしてません。
実は以前くまぷーさんと3×3の別問題をどうすべーかと言う話をしてました。
元々「こんなもんできないだべ」と言う代物ですから、一筆書きでは無理っぽい・・・・
でも、ワークセル使えばなんとかならないかと思い今日の往復の電車の中で考え、
帰宅してからやってました。
何とかなっちゃうもんですねーー^^
出題するかどうかは大家さんまかせです。

jyo3

>ワークセル使えばなんとかならないかと思い今日の往復の電車の中で考え、
>帰宅してからやってました。
>何とかなっちゃうもんですねーー^^

どひゃーーーー

5 なんでもね
7 なんとかしちゃう
5 さくださん

うーーん、、、、あまりよくないなーーー

kir

時間が取れなくて途中で挫折しました・・・
代わりにy sakudaさんの短縮を。間違ってたらごめんなさい。
79:=LEFT("Q",RAND()>0.7+INT(((COUNTIF(C:D,"Q")+LEN(B4&B5))^2-(D3>0)*(5-ROW()))/2))


あと、からくちさんのNOWですが私も2個にならない時があります。
2桁算出部分を別の9セルに書き出すと同じなのになんでだろう?
エクセルの計算順の具合もあって、たまたまシリアル値のカウントアップ前後ってことかなあ?
ちなみにそれとは別にQが1個になるパターンを確認。
例:2010/9/23の0時「シリアル値40444」
シリアル値の刻みが分からないけど「・・・0.0004」「・・04.0004」みたいな場合も1個になりそう。
しかしからくちさんのアイデアは面白いです。インチキ版もみてみたいな。

jyo3

nowについて、、、
ちょっとだけ、、、
むかし、、(といっても、5年たってないかも)
nowは、今だから、、、
で、エクセルは、1/100秒単位だから、、、

65536行にnowを書いたことがあった。
(ダブルクリックで)

面白かった。
65536行を、、、1/100の単位いくつで到達か?
・・・・・・・
忘れたけど??

y sakuda

kirさんの、配列数式じゃないんですね。
しかも循環参照になるみたいなんですが、9セルにコピーするとOKになる・・・・
眺めていても良く分からないですが、とにかく79ってのは物凄い^^;

kir

>しかも循環参照になるみたいなんですが
新シートでやってもらうと大丈夫だと思いますよ。
>1.B2からD2、A3からA5 つまり上辺と左辺が空欄になっているところを利用しています。
私はこの部分を右と下に置き換えてますので残っていた元の数式と参照しあったのかな。
あとは-1と-2を作るところが短縮してあるだけで、考え方は元の数式と一緒!

y sakuda

>元の数式と参照しあったのかな。
そうみたいです。 不注意でした。

通りすがり

kirさんの式の
(D3>0)
の部分が良く分かりません。
良ければ解説いただけますか?

くまぷー

sakudaさんから問題を頂きました。
ありがとうございます。
近日中に公開致します。

この問題をきっかけに「関数で出来ますか~?」も
新たな展開に?!

ひょうたん島は♪
ど~こ~へゆ~く~♪

y sakuda

>この問題をきっかけに「関数で出来ますか~?」も
>新たな展開に?!
誰も手を出さないと言うことはないと思いますが・・・・・
あきれ果てられる可能性も^^;


y sakuda

私のでも、くまぷーさんからの挑戦状でも良いですが、何時出題予定なんですかーー

くまぷー

>kirさんの式の
>(D3>0)
>の部分が良く分かりません。
>良ければ解説いただけますか?


↑のレスがまだついていない等のことで
まだ「2人の女王Ⅱ」が終わっていないと重い
しばらく第58回は保留しているのですが・・・

>(D3>0)
(column()=4)の代わりです。
相対参照ですので、
B列の数式は"Q"か""になるD列を参照し、
C列以降は未入力(0)になるセルを参照します。

通りすがり

そういうことですか。納得しました。
天の声さん、解説ありがとうございますw

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

アカウント情報

(名前は必須です。メールアドレスは公開されません。)

2024年8 月

        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

TOP メニュー