« 高校入試用調査書(平成20年度千葉県版) | メイン | 三四郎でグルグル渦巻き・・・【問題】 »

2007年9 月10日 (月曜日)

コメント

くまぷー

ジョー3さんの回答です。
(以下)
では、35文字
=IF(ROW()-ABS(6-COLUMN())>0,"*","")
でも、if文は、何人かやりそう・・・で、
もチョット短くならないか?
=REPT("*",(8+ROW()-ABS(6-COLUMN()))/9)
なんだ・・・こっちが文字数が多いのか!!
でも、他の方がしそうでないので、
これで応募です。
でも、あとで見てみたら・・・センスがないなーー俺、

くまぷー

ジョー3さんの式の・・・
ROW()-ABS(6-COLUMN())>0
・・・を変形すると
くまぷーのものと全く同じですね(^。^)

>・・・センスがないなーー俺、

ということは・・・おいらも・・・(^^ゞ

ジョー3

9文字版はかなり違反してるから
他の方の作品を見てからね、

y sakuda

削除しました。

y sakuda

削除しました。

y sakuda

削除しました。

y sakuda

全て再投稿します。
1.最初に書き流したもの
=IF((6-ROW()<COLUMN())*(6+ROW()>COLUMN()),"*","")

2.1では余りにも平凡なので凝ってみて却って長くなった失敗作
=IF(12*COLUMN()-COLUMN()^2-35+(ROW()-1)^2>0,"*","")
3.冷静になって一工夫した提出版
=IF(ABS(COLUMN()-6)<ROW(),"*","")

4.余興
A.A1:K6に*をいれ、Fontを白にして見えなくする
B.A1に条件付書式で
=ABS(COLUMN()-6)<ROW()
書式はFont色標準
A1の書式をA1:K6に書式のコピー

さて、皆さんの回答見てみよう^^


くまぷー

y sakudaさんの投稿を3つ本人の依頼により削除しました。

くまぷー

y sakudaさん、お手数をお掛けしました。
申し訳ありません。m(__)m

さて、1番を書き直した3番はEWで仰っていたとおり
くまぷーのものと同じでした。
やはり、この辺りが主流になりましょうか。

2番は「凝ってみた」ということですが
直線で囲まれた図形を
描くのにどうやってこの式を発想されたのか・・・

4の余興・・・やはり、こういうのが
一番楽しいですよね。
くまぷーとしては、まっとーにやるよりもこういうようなのを好みます。

(●`ε´●):だから、日経のExcel表計算大会に一太郎で応募したんだろ?!

【´・ω・`】:うん。

y sakuda

>直線で囲まれた図形を描くのにどうやって
>この式を発想されたのか・・・
単純に上に凸の二次曲線の根の間が*の部分という発想なんですが、二次式なんで却って長くなったので没です^^

くまぷー

なるほど。そういうことでしたか。
解説有り難うございます。

かず

=ABS(6-COLUMN())-ROW()
書式設定で、;"*";;

y sakuda

>書式設定で、;"*";;
同じようなもんですが、こっちの方がまっとうだな^^

ジョー3

6-???
みんな、やるんだなーーーやっぱり。そうだよなーーー・・・がくっ・・・

くまぷー

かずさん、どうも。
おいらはどうもこの書式設定が苦手です。(^^ゞ

自分でやるときには条件付き書式に
走ってしまいます。

>同じようなもんですが、こっちの方がまっとうだな^^

sakudaさん、どもです。
そろそろ、ジョー3さんの「まっとう」でない
反則技の出番かな?

ジョー3

>反則技の出番かな?
飲んだから、思い切って出しますね、
怒られるだろうけど。

1)ピラミッドの先頭に1を入力しました。
2)1が*になるように書式設定しました。
3)上の3個を足します。
  (f4でなら=d3+f3+g3)・・・9文字
4)書式設定で、1以上を*に設定
5)セル番地をごまかしました。
・・・・すみません。

ジョー3

飲んで、説明は・・・・わかりにくいよなーーー

ジョー3

>5)セル番地をごまかしました。
あれーーー悪児さんのを見たら、
セル番地をごまかしてるのが・・・・
あったかなーーー

なんとなく・・・・uresii ??annsinn??

悪児

でおくれてます。(^^)ゞ

ジョー3の9文字、
悪児の17文字の方に
似てるんですね。
(というか、そのズル版)(^^)ゞ

悪児の10文字とは、
違っていました。

色んな方法があるもんですね。(^^)(^^)

きっちー

やっぱりこんな感じかなあ。33文字。

=If((Col(A1)-6) DIV Row(A1),,"*")

悪児

くまぷーさんの三四郎版解答

=If(Abs(6-Col(A1))

ですが、やはりくまぷーさんは、
Excel使いですね。(^^)(^^)
三四郎では、Ifの第2引数を省略しても、
エラーになりません。だから、

=If(Abs(6-Col(A1))

で、31文字になりますね。(^^)(^^)

えくせるバカ

会議で遅くなりました(^^ゞ

すっかり出てしまってますねぇ~
似たようなものですけど三つだけ
36文字
=REPT("*",(ABS(COLUMN()-6)

23文字
=ROW()^2-(COLUMN()-6)^2
 表示形式 [>0]"*";;

22文字
=ABS(COLUMN()-6)/ROW()
表示形式[<1]"*";;

で・・・お粗末!!

悪児

悪児のExcel17文字は、

G1に"*"を文字列で。

B2に

'=LEFT(B1&A1&C1,1)

を入れて、コピペ。
他の機能は、全然使っていません。(^^)ゞ

ジョー3

がくがく・・・がっくり・・・
REPT・・・・おらだけと思ったのに、ガックリ・・・・

悪児

もうひとつ、
悪児のExcel10文字は、

F1に、"*"を文字列で。
F2以下F列に、

=F1&" * *"

あとは、「はみ出し表示」にして、
列幅をごにょごにょ (^^;)(^^;)

Excelだと、苦しいですが、
三四郎だととても綺麗にできます。

式も、

=F1 & "**"

ですから、Excel流に
不要なスペースを除いて数えれば、
8文字になります。(^^)(^^)

ジョー3

>列幅をごにょごにょ (^^;)(^^;)
く、く、・・・くるしいっーーーー


ん、

>Excelだと、苦しいですが、
本人が、言っておられた。

でも、でも、・・・いつか研究したいかなーーー

えくせるバカ

式の端っこが
切れてしまってました(;O;)

36文字(正)
=REPT("*",(ABS(COLUMN()-6)<ROW())*1)


えくせるバカ

ジョー3さんの反則技や
悪児さんの17・10・8文字技は
発想できませんでした。
実務ではとても有効な手段ですよね!
凄い(@_@;)

悪児

えくせるバカ さん、こんばんは。

悪児の場合、最初に思いついたのが、
17文字でした。(三四郎版だけど)

でも反則になるので、
自分のブログのネタにしました。(^^)(^^)

悪児

もうひとつ、皆さんやっていないようなので。

Excel版だと、Ifより短くなります。

=LEFT("*",ABS(6-COLUMN())-ROW()<0)

数値計算部分をくまぷー流にすると、
32文字ですね。(^_^)(^_^)/~

ただし、三四郎では、
Ifの方が短くなります。(^^;)(^^;)

くまぷー

おー、昨日寝てしまった後に
たくさんの書き込みが!!
これから出勤なので
帰ってきてからゆっくりと(^。^)

えくせるバカ

悪児さんのLEFTもなるほど、ありですね。
何より私は理論式が関数内部では数値に認識されることが勉強になりました!
他のも試してみようーと(^O^)

くまぷー

やっと書き込めます。
ジョー3さんのズル版の(5)
>5)セル番地をごまかしました。

これはセルの参照エラーを防ぐためですよね?

これに関して三四郎で面白い発見をしました。
(1)F1に*を入力
(2)F2に=If(CountExact("*",E1:G1),"*","") と入力

このF2の式をA2からK6までこぴぺ。

Excelならば当然、A列で参照エラーになりますよね?
三四郎ではエラーにならずにちゃんとピラミッドが
描けてしまうんです。(・_・)......ン?

不思議に思ってA2の数式を確認しました。

すると・・・・

=If(CountExact("*",A1:B1),"*","")

・・・になっていました。

セル3つ分の範囲を三四郎はエラーにならないように
自動的に2つ分に修正していたんです。(゚゚;)エエッ

知らなかったのはくまぷーだけ?

くまぷー

>ジョー3さんの反則技や
>悪児さんの17・10・8文字技は
>発想できませんでした。

これはえくせるバカさん同様に
思いつきませんでした。
なるほど!!

くまぷー

悪児さんの

>=LEFT("*",ABS(6-COLUMN())-ROW()<0)

Leftのこういう使い方も知りませんでした。
とても新鮮です。

Reptはやろうとしたんですが
エクセルバカさんやジョー3さんほど
式を短くすることが出来ず断念しました。

くまぷー

きっちーさんの

>=If((Col(A1)-6) DIV Row(A1),,"*")

うーん、味がありますねぇ(^。^)

Excel流にするとこんなかんじかな~?

=IF(TRUNC((COLUMN()-6) /ROW()),"","*")

>知らなかったのはくまぷーだけ?

悪児も、全然知りませんでした。(^^)ゞ

こーゆーばあい、
A列の式も、ここのローカルルールでは、
同一式と見なされるのでしょうか?(^^)(^^)

悪児

>>=If((Col(A1)-6) DIV Row(A1),,"*")
>うーん、味がありますねぇ(^。^)
(・_・)(._.)(・_・)(._.)
言われてみれば、って感じです。(^^)ゞ

Excelにはない、
便利なDIV演算子を使っているところが
すてきですね。

きっちーさん、
この式、悪児のブログでも
紹介させていただいてよろしいですか?(^_^)(^_^)/~

ジョー3

>Excelならば当然、A列で参照エラーになりますよね?
>三四郎ではエラーにならずにちゃんとピラミッドが
>描けてしまうんです。(・_・)......ン?
三四郎さんとは、チョットしかお付き合い
が、ありませんが、味があるねーー
勿論、この良い味は知りませんでした。

きっちー

>きっちーさん、
>この式、悪児のブログでも
>紹介させていただいてよろしいですか?(^_^)(^_^)/~

こちらこそ、どうぞdouzo。(^^)(^^)

DIV、MODは、3文字のようで5文字分使われるんですよね。
ちょっと残念。

くまぷー

>こーゆーばあい、
>A列の式も、ここのローカルルールでは、
>同一式と見なされるのでしょうか?(^^)(^^)

ええ、この問題はくまぷーも当然考えました。

結論から言えば出題の仕方で対処しようと思います。

従来の出題
「A1に入力した数式をK6までコピーして、上図を描くにはA1にどのような数式を入力したらよいか?」

新方式
「一つのセルに入力した数式を他のセルに
コピペして上図を描きたい。どのセルに
どういう数式を入力すればよいか」

回答例
「F2に=If(CountExact("*",E1:G1),"*","")」と入力する。

・・・てなもんで如何でしょう?

これならばA列の式が三四郎によって
どうされようと関係ありません。(^^ゞ

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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