« 関数で出来ますか~? 第54回 魔方陣Ⅱ | メイン | 関数で出来ますか~? 第54回 魔方陣Ⅱ 解答例 »

2019年5 月 1日 (水曜日)

コメント

y sakuda

くまぷーさんの広げて見たけど、からくりがさっぱり分からないですね。
見せ方はさすがです>こう言うのは私には絶対にできないw

min

一応やったってことで、深く考えていないけど、、
=IF(COUNT($B$2:B2)=4,5,IF(AND(COUNTIF($B$2:$D$4,B2)<2,$B$2+$C$3+$D$4=15,$D$2+$C$3+$B$4=15,B$2+B$3+B$4=15,$B2+$C2+$D2=15),B2,IF(ROW()=2,15-B3-B4,IF(COLUMN()=2,15-C2-D2,INT(RAND()*9)+1))))
どこまで人間が考えてどこまでパソコンに考えさせるのか、、、なんか。。
ま、、いいか。

くまぷー

>くまぷーさんの広げて見たけど、からくりがさっぱり分からないですね。

あれは以前、作った「Poker Slot」のエンジンをそのまま利用しているので
今回のに使う必要のないデータや数式が残っているのでわかりにくいと思います。(^^ゞ

http://kumapooh.typepad.jp/blog/2008/05/post-9a9a.html#comments

みなさんのはこの後ゆっくりと・・・
その前にまず、Excel Worldで宣伝してこよう(o^^o)

くまぷー

うーん、sakudaさんのものもminさんのも凄いのだけど
循環参照ってわかりずらい・・・

循環参照を正式な技として解説している書籍などが
あるのだろうか・・・?

くまぷー

みなさん、ファイルを送って頂ければ
順次、展示していきますので
よろしくお願いします。m(__)m

y sakuda

minmaxさんの拝見しました。
一筆書きで作っちゃいましたか^^;
3次の魔方陣でもできるとは思わなかったので、初めから一筆書きは全く考えなかったです。

くまぷー

たしかにminさんのはすごい。
何でも一筆書きにできてしまうところがすばらしいです(o^^o)

jyo3

この連休・・・風邪で、・・・・
おかげで、ゆっくり休んでます。。

で、

1)3個ランダムで、、ちょっと遊びました。
2)斜め456固定だと、ちょっとズルといわれそう・・・だから、、
3)中央5なら、、、まあいいかーーー・・・・

minmaxさん、、中央5ね、、、でも、上手だなーーーまねできません。

y sakuda

>3)中央5なら、、、まあいいかーーー・・・・
3×3の場合、中央は5出なければいけないとか、角は2,4,6,8とかすぐ証明できるんです。
突きつめて行くと、多分最終形まで証明できちゃうと思うのである意味微妙なとこですが、
一筆書きでやっちゃうためには許せる範囲じゃないかと思います。
とにかくあっけに取られました^^

ところで、くまぷーさんのやつ、全体のからくりまだ分かりません。
(式全部出して見たんですけど^^;)
F9を押すとどこでスタートのスィッチが入るのかと、停止の仕組み教えてください。
ゲーム作ったりする方たちの常識見たいな気もするんですが、解明できなかった^^;

くまぷー

>F9を押すとどこでスタートのスィッチが入るのかと、停止の仕組み教えてください。

>ゲーム作ったりする方たちの常識見たいな気もするんですが、解明できなかった^^;

循環参照は配列数式よりも更にマイナーだから
かずさんが知らなければ誰も知らないような気がします(^^ゞ
よい子は普通、循環参照なんて使わないし・・・

教えるのは容易いのですが
その仕組みの解明を問題にするとか・・・

誰も挑戦してくれなさそうなら
こっそり後でメールで教えます。(o^^o)


y sakuda

よろしくーー

くまぷー

>よろしくーー


サンプルファイルを送りました。(o^^o)

kir

やっとできた・・・C3:E5の9マス使ってるけど、
{=IF($C$3>9,C3,IF(C4+D4+E4&C5+D5+E5&D3+D4+D5&E3+E4+E5&C3+D4+E5&E3+D4+C5=REPT(15,6),C3&"",SMALL(IF(FREQUENCY((1:2,A3:B3),ROW($1:$8)),"",ROW($1:$9)),INT(RAND()*(9-COUNT(0/FREQUENCY((1:2,A3:B3),ROW($1:$8))))+1))))}

・small( )が重複除いて乱数を表示する部分
条件満たすとC3が文字列化、それを条件に乱数計算が止まる式です。
一応答えが出るのは確認したけど、1000で見つかる事もあれば、1万以上かかることもorz

くまぷー

kirさん、うれしいよ~っ!!\(^_^)/
出題者、大家を除けば参加者はminさん、1人だったから・・・

y sakuda

おお、kirさんも一筆書きですかーー
凄い!
ちゃんと止まることを確認しました^^
しかし、できるもんですねーー

y sakuda

しかし、ここまで来ると、くまぷーさんの方で、これは1セルではできないと言う挑戦状出すしかないですねーー

くまぷー

>挑戦状出すしかないですねーー

出題者ができないんじゃ
挑戦状とは言えません(^^ゞ

通りすがり

通りすがり本人ですw
すいません、どこで質問すれば良いかわかりませんが、ここで質問させてください。
(出題がないので、出題代わりに…w)

A列の1~20に適当な数値(0もいくつか入っている)が入っているとして、
=COUNTIF(A:A,"<>0")

=COUNTIF($A$1:A20,"<>0")

=COUNTIF($A$1:A21,"<>0")
の値が違う(違う場合がある?)のですが、なぜですか?

y sakuda

www
質問掲示板どこにでもありますし、ここは質問掲示板じゃないですけど。

Countifの動きは真剣に追求したことないですが、
>=COUNTIF(A:A,"<>0")
この形式で記述すると、数字ではなく文字列として比較しているみたいです。
ですから空のセルは0と言う数字が入っていないと言う意味で、"0"以外として
数えられているのでは?

min

>数字ではなく文字列として比較しているみたいです。
んーん
若干違うような気もする。

b2に
'00
=COUNTIF(B2,0)
答え1
??
b2に
'0
=COUNTIF(B2,"<>0")
答え1

"<>0"は数字の0以外をカウントする。
文字の0も空白セルもカウントしない。

y sakuda

うーーん、どうなんだろ?
確かに文字列の0とか00は0とは判定されませんね。
単に空セルと0を区別してるってことかな?

min

>確かに文字列の0とか00は0とは判定されませんね。
ところが、
文字列の00は
=COUNTIF(B2,"<>0")
では0じゃないとして1を返すんですが、
同じ文字列の00でも
=COUNTIF(B2,0)
では0と判定して1を返すんです。

y sakuda

>=COUNTIF(B2,0)
そうですねーー、この形だと、空セルは0とはみなさないですから、評価値で比べてるわけでもないし、
なんなんでしょうね?

くまぷー

こういうのはジョー3さんがすきそうですね~

くまぷー

minさんから問題を頂きました。
この場を借りてお礼を申し上げます。

kir

>と
>と
>の値が違う(違う場合がある?)のですが、なぜですか?
参照範囲数が違うのだから、違う場合のほうが多いと思った。
新規シートでA列未入力だとそれぞれ65536、20、21だったよ?

・・・そういう意味じゃなかった?失礼しましたorz

y sakuda

>新規シートでA列未入力だとそれぞれ65536、20、21だったよ?
その通りでしょう。
私は0と"0"と空セルの問題の方へ行っちゃいましたw

通りすがり

>新規シートでA列未入力だとそれぞれ65536、20、21だったよ?

そうなのか、これは、怖い結果ですね。
=COUNTIF(A:A,">0")

=COUNTIF(A:A,">0")+COUNTIF(A:A,"<0")
が良いのかな?

通りすがり

これかな?
=COUNTIF(A:A,{">0","<0"})

通りすがり

こっちでしたね。
=SUM(COUNTIF(A:A,{">0","<0"}))

「たぶん」こっちがオススメかなあ。
=COUNTIF($A$1:$A$20,">0")+COUNTIF($A$1:$A$20,"0","そうなのか、これは、怖い結果ですね。
この内容だけ見れば普通の結果ですよ~。未入力も0ではないのですから該当ですよね。
※未入力を0扱いする場合もありますがそちらが特殊な処理)

>A列の1~20に適当な数値(0もいくつか入っている)が入っているとして、
この条件がご希望を表現しきれていないだけかな?
一定範囲の0を除く数値の数を求めたいのでしょうか?
Q&A掲示板でよく引っかかるところで、目的と条件によって対応が違ってくると思います。
例えばセル範囲や、未入力・文字列(=""、スペース、数字、文字)・数値・エラーの有無およびその判断です。

kir

↑kirでした。

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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 メニュー