« 表計算一筆書き・・・御陵(みささぎ)【問題】 | メイン | 表計算一筆書き・・・御陵Ⅱ【問題】 »

2007年12 月 1日 (土曜日)

コメント

y sakuda

今回はExcel62で終戦です。
=LEFT("*",OR((6-ROW())*(COLUMN()-6)/{-2;1;2;4;6}={1,1.5,4,6}))
やはり、マイナスの数にModを掛けた時プラスに変換されてしまうのがExcelではつらかった^^;

ジョー3

うーーん、そうかーーー
MODがねーーー、、

今回は、スパッと切れませんでした。
で、、観客です。

きっちー

飲み中ですが。

三四郎 46文字。

=If((Col(A1)-6)*(Row(A1)-6) MOD 5 ANDB -6,"●")
MOD 5 のあとで、1と4がいらないので、第1と第3ビットを消去。
マイナス値は他のBITがたっているのでtrueになる。

えくせるバカ

そうか
三四郎はMODしても負は負ですかぁ~
確かに今回の問題では圧倒的に有利ですね!
ExcelではMODは使いづらい・・・
なので最初の73文字は
 =REPT("●",MOD((COLUMN()-6)^2*(ROW()-6)^2,5)>((COLUMN()-6)*(ROW()-6)>0)*1)
とむりやりでした。
そこで次の62文字はMODを使わず
 =REPT("●",OR(MID((COLUMN()-6)*(ROW()-6)/5,3,1)={".","4","6"}))
としました。
そのときはてっきりminmaxさんが50台を
Excelでやってるものと思ってましたので、気楽に追っかけるつもりでいました。
2日後、会社でPC触れる時間が取れ、
 MIDの有効性を生かすことにして思いついたのがFINDの第1引数に使うことで
 =REPT("●",FIND(MID((COLUMN()-6)*(ROW()-6)/5,3,1),"28.46")>2)
60文字となりました。
58文字は"28.46"の「"」を外したものです。
このあとminmaxさんの50は三四郎と知り、びっくり。(゜o゜)?!
急にプレッシャーで重くなりました。

ジョー3

きっちー さん、
えくせるバカ さん、
すごいなーーー・・・・

きっちー

ビット演算子はエクセルにないですから。

ジョー3

sakudaさんも、、力作だなー・・・
今回は、、力が、、入らなかったです。

minmax

きっちーさんの式は三四郎素人には難しい。
後でじっくり解析だな。
問題を見たとき三四郎が有利ということは比較的早くわかりました。
しかし、三四郎でやるとしてもエクセルで頑張る方法はないか考えてからと決めていたので一応エクセルで作ってみることに・・・
エクセルで最初にできたのは、くまぷーさんの式とほぼ一緒の72でした。
その後三四郎正規ユーザに変身してこれもくまぷーさんと同じ三四郎50になりました。
三四郎はここで終了
その後はエクセルで頑張る事にして
最終的にエクセルで62でした。
えくせるバカさんと同じmidを使ったもので全くおなじものでした。
ちなみに考え方を逆にして
=IF(OR(MID((6-ROW())*(6-COLUMN())/5,3,2)={"","2","8"}),"","●")
でも62でした。
えくせるバカさんのfindを使った式すばらしいです。全く思いつきませんでした。

えくせるバカ

MODはエクセルでもマクロでは
演算子として使いますが
きっちーさん、
「ビット演算子」ってどんなの?

minmax

y sakudaさんのような考え方は、私にはなかなかできません。
いろんな意味でありがとうございました

えくせるバカ

minmax さん
三四郎にハマってなければ
あなたが先にやってたかもね!
(^^ゞ

minmax

えくせるバカさんの
>FINDの第1引数に使うことで・・・
なかなか思いつく方法ではないと思います。
私には無理でしょう

きっちー

MODは、エクセルでは関数ですが三四郎では演算子です。
ビット演算子は2進数の計算になります。
1は、0001
4は、0100
ー6は、11111010
ANDをとると・・・・

きっちー

酔っぱらいなんだから

メール解説するのは、きらわれる。
女の子に。

くまぷー

今、ひとつひとつ見ています。
ヘビィだな~。

sakudaさんの・・・
6-ROW())*(COLUMN()-6)の分母に{-2;1;2;4;6}を
持ってくるなんて考えつかない・・・
ちょっと真似できません。

えくせるバカ

y sakuda さんの62文字、
私もこの手法を真似てやったのですが
65文字にしかできませんでした。(>_3))
ゆうのもやりましたが、67文字と
もっと長くなってしまいました。

えくせるバカ

あれっ顔文字のあと、式が抜けました。
こんなのです、
=REPT("●",OR(LEN(SUBSTITUTE((COLUMN()-6)*(ROW()-6)/5,{4,6},11))>3))

くまぷー

きっちーさんのANDB・・・
前にもANDBだったかORBだったかを
使っていたのを見ていたので
三四郎にこんなのがあるということは
頭では知っていたけど・・・
これもまだ自分では使えない・・・

Excelは情報量がもの凄いので
ふーん、こんなのがあったのかってのは
あまりないけど・・・
三四郎はまだまだ未開のジャングルが・・・

きっちー

ひとりぼっち。

きらわれた。

無駄書きごめん。

くまぷー

えくせるバカさんの・・・
=REPT("●",FIND(MID((COLUMN()-6)*(ROW()-6)/5,3,1),"28.46")>2)

うぎゃーっ!!

COLUMN()-6)*(ROW()-6)の3文字目に
こんな特徴があったのか?!
ぜんぜん、わからんかった!!


くまぷー

>ひとりぼっち。
>きらわれた。

(‥、)ヾ(^^ )ヨシヨシ

y sakuda

modは初めから使えないとあきらめていたので、円の部分がMod5で0,1,4以外と言う発想すらありませんでした。
きっちーさんのANDB はアセンブラ等でやってれば当然の発想ですが、Excelではねーー
でも見事です。

えくせるバカさんの
>=REPT("●",FIND(MID((COLUMN()-6)*(ROW()-6)/5,3,1),"28.46")>2)
はなんとなく分かるだけですが、見事!
やはりまるで発想が違いましたね。
これから詳細に解析させていただきます。

私の式の発想をちょっと説明しますと、最初1で割って-2,-3,-8,-12、次に1~4で割って1,2,3,4を選べばOKと考えました。
ところが、右辺はすべてプラスにそろえるので余計なものが表示されてだめ。
そこであきらめて、考え直そうと、右辺を-2,-3,-8,-12だけにしたら、ほとんど出来ちゃった!
で、Excel63の
=LEFT("*",OR((6-ROW())*(COLUMN()-6)/{-1;1;2;3;0.5}={2,3,8,12}))
になりました。
配列定数の組み合わせはいろいろあるのですが、普通の手では63が最短で最後に0.5の代わりに2,3,8,12の方を1/2にすると、小数点付き数字は同様に一つですが、12⇒6で一文字減らせることに気が付きました。

えくせるバカ

きっちーさん
早速、解説ありがとうございます。
「ビット演算子」の解説をさずかりましたが、
私の頭では、???です。
(決心)
これからも、私は
Excelに、しがみついて生きて行きます!!!

くまぷー

minmaxさん、どもです。
同じ式だったようで・・・
はっぴぃです。(^O^)

とうとう三四郎ユーザがひとり増えた・・・
アンケートで「何に使うか」なんてのが
あったら「表計算一筆書き」と大書きしてください。(^^ゞ

えくせるバカ

きっちーさん
早速、解説ありがとうございます。
「ビット演算子」の解説をさずかりましたが、
私の頭では、???です。
(決心)
これからも、私は
Excelに、しがみついて行きます!!!

えくせるバカ

あれなぜか
コメントがダブってます。
なんかうまくいかんなぁーー

くまぷー

>今回は、スパッと切れませんでした。
>で、、観客です。

ジョー3さん、どもです。(^O^)
次回の「中禅寺湖」第2弾では
是非、3度目のジョー3マジックを・・・
待ってますよ~(^o^)/~~~

そう言えば悪児さんは本当に
切羽詰まっているのかな?
いつもなら、ご自分のブログで
8:10に回答発表なのに・・・
今日はその気配すらない・・・


ジョー3

28.46・・・・
ふふふ、、、おもしれーーなーーー

y sakuda

うーん、えくせるバカさんの三種類とも面白かった。
Findの発想はminmaxさん同様うなりました。
28.46の28ってのがやはり必要なんですね。すごいな^^
悪児さんのも早くみたい×2

y sakuda

雑感ですが・・・・
このところの問題みんな図形は複雑なんですが、結局ColumnとRowを一組で処理しないと勝負になんない。
なんか恐ろしい世界に入り込んでるような気が^^;
それと、回答者減っちゃいましたね。かずさんなんかも姿みせない・・・

y sakuda

minmaxさんのやっと分かった
midの第3引数が2ってのがやってみてやっと理解できました^^

くまぷー

>回答者減っちゃいましたね。かずさんなんかも姿みせない・・・

うーん、回答もかなりマニアックに
なってきましたね~。

問題自体も初めの頃の
ピラミッド、ストライク、ダイアモンドに
比べると厳しくなってしまったかな・・・
考えるときに来ているのかな~

y sakuda

>ピラミッド、ストライク、ダイアモンドに
>比べると厳しくなってしまったかな・・・
一目で分かるようなもんだと常連さんが顔出さない可能性も^^;

ジョー3

>結局ColumnとRowを一組で処理しないと勝負になんない。
column or row禁止で超簡単な図形が
書けたりしたら、、幅が広がるかもね、、
・・・・・・それは無理か???

かず

>かずさんなんかも姿みせない・・・

このところ、ちょっと忙しくて… (ーー;)
まったく手が出ないんですよ。で、こんなものしか思いつきませんでした。
=IF(OR(MOD(COLUMN(),5)=1,MOD(ROW(),5)=1,COLUMN()=ROW(),(7-ROW()+(ROW()>6)*10)=COLUMN()),"","*")

それにしても、皆さんの発想には本当に驚きますね!

悪児

今帰ってきました。

今回は、ほとんどお休みでした。(^^)ゞ

三四郎50は、くまぷーさんと全く同じものと、
ちょっと縮めようとしてあがいたものと・・・

三四郎50
=Mid("** *",((6-Row(A1))*(6-Col(A1)) MOD 5+5)/2,1)

Excel69
=IF(OR(MOD(COLUMN()*{2;0;1;1}+ROW()*{0;2;1;-1},10)={2;2;7;0}),"","*")

悪児

>>比べると厳しくなってしまったかな・・・
>一目で分かるようなもんだと常連さんが顔出さない可能性も^^;

次は、ちょっと、
工夫します。(^_^)(^_^)/~

minmax

>次は、ちょっと、
>工夫します。(^_^)(^_^)/~
楽しみに待ちます。

くせになってきたのはいいのですが
仕事中も頭の片隅にあって最近集中力を欠いています。
ほどほどにしなきゃ

y sakuda

悪児さんのExcelは全く別の発想でしたね^^

きっちー

>ほどほど

両立しかない(かも、勝手な発言)。

きっちー

すでにアクセス20越え。

minmax

>minmaxさんのやっと分かった
>midの第3引数が2ってのがやってみてやっと理解できました^^

検討の過程で2としていたものをそのままにしていたものですが、
この場合は、1でもいいみたいですね^^;

y sakuda

>この場合は、1でもいいみたいですね^^;

あらっ?
さっき試した時2じゃないとダメと納得したんですが、1でもOKですね・・・・

minmax

>さっき試した時2じゃないとダメと納得したんですが、1でもOKですね・・・・
ほんの参考ですが
=IF(OR(MID((ROW()-6)*(6-COLUMN())/5,3,2)={"",".8",".2"}),"","●")
だったものの無駄を省いた際に第3引数を2から1に変更しなかったものです。

y sakuda

>無駄を省いた際に第3引数を2から1に変更しなかったものです。
こっちだと小数点を意識する必要がありますね^^

えくせるバカ

ⅡをやっててⅠの57が・・・
一応書き込んでおきます。
=REPT("●",MOD(MID((COLUMN()-6)*(ROW()-6)/2.5,3,2)&1,3)<1)

くまぷー

とうとう57が・・・絶え間ない進歩!!

y sakuda

動きを確認しました・・・・
絶句^^;

えくせるバカ

今回の問題(Excel部門)は
私と相性がよかったようです・・・(^^ゞ
いつも、そう上手くは行かない。
だから又おもしろい。

minmax

えくせるバカさんは、やっぱりほんものです。

えくせるバカ

>やっぱりほんものです。
うへっ、うぬぼれる^^

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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