« 三四郎でグルグル渦巻き・・・【問題】 | メイン | 三四郎でストライク!!・・・【問題】 »

2007年9 月15日 (土曜日)

コメント

ジョー3

isodd ???

そんな関数、あったっけ、あったような、
でも、ふだんつかわんから、きづかなかったなーーー

ジョー3

=IF(MOD(MAX((6-ROW())^2,(6-COLUMN())^2),2)=1,"*","")

普通の関数で、1文字負けたーーー

y sakuda

なるほど、中心からの距離の最大値で判定か。気づかなかった^^;
正攻法で枠を組み立てる方針から逃れられなくなったから、Row方向、Colum方向の式がダブって長くなっちゃったです。
一応失敗作を参考例として
=IF(((MOD(ROW(),2)>0)*(ABS(COLUMN()-6)<=ABS(ROW()-6))+((MOD(COLUMN(),2)>0)*(ABS(ROW()-6)<ABS(COLUMN()-6)))),"*","")

多少きり縮められるでしょうが115文字です。

y sakuda

isodd は分析ツールを入れる必要がありますから、ジョー3のがまともです。

ジョー3

でも、

=MOD(MAX((6-ROW())^2,(6-COLUMN())^2),2)


表示形式で、・・・39文字

しかし、悪児先生が、50代と、おっしゃらなければ80代だから・・・

・・・今回は、参りました。

えくせるバカ

ISODDはアドインの分析ツールに
ある関数ですからね。
表示形式("*";;)版は
くまぷーさんの中身と同じ
=MOD(MAX(ABS(ROW()-6),ABS(COLUMN()-6)),2)
です。
その中身を使って別のを
=CHAR(32+MOD(MAX(ABS(ROW()-6),ABS(COLUMN()-6)),2)*10)

ジョー3

>isodd は分析ツールを入れる必要がありますから
>ISODDはアドインの分析ツールに
ある関数ですからね。
・・・・・

あらら、それも、気づかなかったバイ

えくせるバカ

ジョー3さん39文字とは・・・
その手もありましたよね(>_<)

くまぷー

え~、IsOddってアドインですか~?!
Excel2007を使っていたから、標準関数だと
思っていた・・・(-_-;)
みなさん、2007じゃないんですね・・・。

ちなみに三四郎では標準です。
でも三四郎の回答例では敢えて使わずに
Modを使いました。(^^ゞ

くまぷー

おー、なるほど。ジョー3さんの式の中身の

=MAX((6-ROW())^2,(6-COLUMN())^2)

は、0,1,4,9,16,25になるんですね。
やはり、いろいろな攻め手があるもんだ。(^。^)

くまぷー

>正攻法で枠を組み立てる方針から・・・

くまぷーもはじめはその方式でした。

その結果が例の・・・

222文字・・・_| ̄|○

・・・でした。

くまぷー

えくせるバカさんのやり方はぜんぜん思いつきませんでした。
Char(42)で直接アスタリスクを書き込むなんて・・・斬新な手ですね!

かず

う~ん、思考が広がりませんでした。
で・・・
=MOD(LEN(10^ABS(6-COLUMN())+10^ABS(6-ROW())),2)
書式設定は、;;"*";

ジョー3

でもなーーーー

6-???は

共通の発想ですねーーー

でも、どなたか、凄いのが、出そうな気もした。

きっちー

最初に作ったのが51文字。
これは数値の検査だけで判定していますね。

=If(Max(Abs(Row(A1)-6),Abs(Col(A1)-6)) ANDB 1,,"*")

A1 で作って、K11 までコピペ。

修正するとくまぷーさんと全く同じでした。(^^)


判定を内側隣のセルで行うようにした正攻法が、インデックス。

=If(Index($A$1:$K$11,Ip(Col(F6)*0.8-4.8)+6,Ip(Row(F6)*0.8-4.8)+6),,"*")

F6 で作って、A1 から K11 までコピペ。

Shft+F2 を押しっぱなしにしてみると・・・・・。
F6 を削除して、"*"を入力するとこんなことも。(^^ゞ


途中で出たので、完成させてみたのが、ビット操作。

=If(Log((2^Abs(Col(F6)-6)-1 ORB 2^Abs(Row(F6)-6)-1)+1,2) MOD 2,"*")

F6 で作って、A1 から K11 までコピペ。

ジョー3

log とはまた・・・・・

高校時代を・・・・わすれたみたい。

くまぷー

かずさん、お仕事お疲れ様でした。

=10^ABS(6-COLUMN())+10^ABS(6-ROW())

上はかずさんの式の中身ですが
F6と他のセルの距離を数値の桁数で
表すなんて発想はどこからでてくるのでしょう?!
くまぷーには絶対に思いつかない手法です。(^。^)

くまぷー

きっちーさんの・・・

=If(Index($A$1:$K$11,Ip(Col(F6)*0.8-4.8)+6,Ip(Row(F6)*0.8-4.8)+6),,"*")

・・・の式。エクセル勢にも是非見てもらいたい式です。
循環参照でアスタリスクのあるセルと無いセルが変化します。
ここに循環参照をもってくるとは?!

おー、三四郎にはAND、ORの他に
ANDB、 ORB なんて演算子があるんですね。
これを使ったふたつの式はくまぷーの
理解を超えています。コメント不能です。スミマセン(^^ゞ

えくせるバカ

一番単純だと思っていたのが出ていないので・・・

悪児さんがおっしゃる「エンジン部分」です
 =MOD(MIN(ROW(),COLUMN(),12-ROW(),12-COLUMN()),2)

悪児

今帰りました。
色々ありますね。
ゆっくり見ていきます。

ところで、悪児の最少文字版、
見ていただけました?

三四郎(47文字)
=If(Max((Row(A1)-6)^2,(Col(A1)-6)^2) MOD 2,"*")

Excel(49文字)
=LEFT("*",MOD(MAX((ROW()-6)^2,(COLUMN()-6)^2),2))

「エンジン部分」は、ジョー3と
同じですね。(^_^)(^_^)/~

きっちー

>三四郎(47文字)

出来たんだ。
^2が使えるかなとちらっと思っただけでわすれてしまっていましたよ。(^^)

くまぷー

>悪児さんがおっしゃる「エンジン部分」です
> =MOD(MIN(ROW(),COLUMN(),12-ROW(),12-COLUMN()),2)

あ、なるほど。こういう手もありますね。

くまぷー

悪児さん、お早うございます。
今回、くまぷーがかなり苦労したものを
お風呂のなかであっという間に解いてしまうのですから・・・
完全にやられた・・・という感じです。m(__)m

悪児さんブログに面白いものが並んでいますので
みなさん、是非ご覧ください。

http://akuji.justblog.jp/blog/

くまぷー

きっちーさん、お早うございます。

今日はこれから、バドミントンの試合です。
帰ってから、もう一度きっちーさんの式を
考えさせて頂きま~す。(^。^)

きっちー

悪児さんの解答6でおもいついた。

出題タイトルにマッチ(?)した、グルグル渦巻き参照です。

=If(Row(F6)<6 AND Col(F6)<7,If(Min(Row(F6),Col(F6)) MOD 2,"*"),Index($A$1:P11,Row(F6),12-Col(F6))) & ""

F6 に入力して A1 から K11 までコピペ。

A1 から F5 のセルを一つづつ消すとおもしろい。(^^)

くまぷー

こんばんは。バドの試合から帰って来ました。
24チームを6ブロックに分けて
4チームの総当たりで各ブロックの
1位が決勝トーナメントに進めるというシステムでした。
くまぷーは2勝一敗でブロック2位だったので
決勝には進めなかったけど満足しています。

さて帰ってきてここを見るときっちーさんの
新しい投稿が!!
きっちーさん、研究熱心だな~(^。^)
見習わなくっちゃ!!
・・・といいながら、すでに酔っぱらっています。由\(@_+ ) ヒック!

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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