« 第82回 塗られたセルは? | メイン | 第83回 数字を作る(その8) »

2011年1 月 1日 (土曜日)

コメント

y sakuda

おめでとうございまーーす
とりあえず全部投稿します^^
G10使用。これはダメでした。43どまりです。
{=SUM(MID(SUBSTITUTE(G10:K10,"$",),2,2)*1)}
文字0を穴扱いしちゃいますが、穴ひとつ以上の30
{=SUM((A1:E20=0)*ROW(1:20))-5}
穴0ないし1の37
{=100-SUM((A1:E20=0)*(21-ROW(1:20)))}
穴複数あり(文字もなんでもあり。ブランクも穴とは認めません)の65
ただし、文字は一文字に限定です。
{=SUM(N(MMULT(N(ROW(1:20)>=COLUMN(A:T)),LEN(A1:E20))=ROW(1:20)))}

y sakuda

出題者解の26・・・・
$を取らないでやっちゃうってのは全く思いつかなかったなーー

min

家から持ってきたコメントを携帯から投稿します

この問題は
「=\100+10」は「110」と計算してくれる。
では、ドルの場合は?ってことを考えたときに
当然同様に計算してくれるのだ。
ドルの記号$はセルの絶対参照の際の記号にも使われているのだ。
と考えたときにセル番地から数値を抜き出す際に数値の前に$がついていようがいまいが計算には関係ない。
これを問題にしただけなのだ。
みなさんはこれに気づけばなんてことないはず。
(多少気付きにくいようにたまにしか$が外れない仕様にしたが)
したがって、G10:K10を参照するため、「1行目に空白はありません」などという条件が設定されているのだ。

また、今回の問題、このなんてことないことにすぐに気付いてくれる可能性が高いと思い、おまけでセルの色塗り問題を付けただけだったのだ。(こっちは発展性がないと思ったが)

74{=SUM(SMALL(COLUMN(A:E)*22+IF(A1:E20="",ROW(1:20),21),ROW(1:5)*20-19)-67)}
71{=SUM(LARGE(COLUMN(A:E)*20+IF(A1:E20="",ROW(1:20),21),ROW(1:5)*20)-61)}
72{=SUM(LARGE((COLUMN(A:E)&IF(A1:E20="",ROW(11:30),31))-311,ROW(1:5)*20))}
73{=SUM(LARGE((CODE(G8:K8)&IF(A1:E20="",ROW(11:30),31))-6711,ROW(1:5)*20))}

くまぷー

=\100+10
・・・ですが110にならずに
#NAME?とエラーになってしまうのですが・・・

エクセル2007とエクセル2000で試してみました。

min

ダブルクォーテーションでかこんでください

通りすがり

G10:K10を参照
43{=SUM(SUBSTITUTE(MID(G10:K10,2,9),"$",)*1)}

G10:K10を参照しない場合。穴1個。1行目に空白なし。
ただし0があるとだめ。
28{=SUM((A2:E20=0)*ROW(1:19))}

くまぷー

="\100"+10
="$100"+10

本当だこうするとちゃんと計算される!!
これはびっくり!!

y sakuda

>28{=SUM((A2:E20=0)*ROW(1:19))}
なるほど。一行目に穴がないとすれば、こういう手もあったか^^

minmaxさんの71等やっと理解できました。
LargeとかSmallのこういう使い方全く思いつかなかったです。
こんな難しいこと良く思いつくな^^;

からくち

あけまして おめでとう ございます

どう見ても無駄があるように思えてならない
しかし哀しいかな、短縮は苦手
嫌いな関数を使っているから
余計そう思えるのか、、、

{=SUM(N(COUNTIF(OFFSET(A1,,{0,1,2,3,4},ROW(1:20)),"")=0))}

y sakuda

>どう見ても無駄があるように思えてならない
そうは思えませんがw
私も初めの内、Offsetで何とかしようと思ってたんですが、うまく行かず断念しました。
ようするにCountIfと組み合わせると言う発想はなかったです。
姿形は大分違いますが、やってることは私のもほとんど同じですが、文字数じゃまるで歯がたたないですねーー

通りすがり

COUNTIFが0の個数とは考えましたね。
理解するのに、かなり時間がかかりました。

y sakuda

そう言えばジョー3はどうしちゃったんだろ?
1.酔いつぶれてる
2.大雪で遭難した

jyo3

>そう言えばジョー3はどうしちゃったんだろ?
うちの、、こどもらが、、、帰ってきて、
皆で、実家に行ったり、、、、・・・
・・・・・・
勿論呑んだり、、、、

で、チラッとみては見ました、、、
みなさん、、、なるほどねーーー

で、、

>{=SUM(N(COUNTIF(OFFSET(A1,,{0,1,2,3,4},ROW(1:20)),"")=0))}
を、呑んだ後、、、寝る前に見たら、、、眠れなくなって、・・・・・
美しいなーーと思った。
考えがわかっても、、、わたしは、、技術がない・・・・
>どう見ても無駄があるように思えてならない
>しかし哀しいかな、短縮は苦手
いやーーー、、、十分良すぎです。。
わかりやすいしーーーー・・・・

min

今回の色塗り問題…
発展性はないと思いましたが皆さんの実力に圧倒されました。
おまけのつもりが…
ついていけない!

y sakuda

>おまけのつもりが…
穴複数は歯ごたえありましたよーー
minmaxさんのLargeも回答見せられても解読するのに結構手こずりました。
私のも他人から見るとシンプルとは言えないのかもしれませんがw
いろいろ手段は試したんですが、成功したのは65になった手法のみでした^^;

y sakuda

書きもらした^^;
>minmaxさんのLargeも回答見せられても解読するのに結構手こずりました。
minmaxさんのLargeもからくちさんのOffsetも回答見せられても解読するのに結構手こずりました。

min

>結構手こずりました。
sakudaさんのが一番難解だと思いますが。
からくちさんのは素直だと思います。
offsetは私も頭に浮かびましたが、offsetは配列数式は苦手、indexは配列数式得意というイメージがありました。
ところで、sakudaさんの65
>文字は一文字に限定です。
とこのとで、2文字以上に対応すると5文字増えるようなお話でしたが、
2文字増える程度ではないのでしょうか。
66{=SUM(N(MMULT(N(ROW(2:21)>COLUMN(A:T)),1-(A1:E20=""))=ROW(1:20)))}
これでも同じですが、
66{=SUM(N(MMULT(-(ROW(2:21)>COLUMN(A:T)),(A1:E20="")-1)=ROW(1:20)))}

y sakuda

>sakudaさんのが一番難解だと思いますが。
発想は単純で、MMULTなら各列の和が取れるということで、下半分が1の正方行列を掛ければ、1行目のみ、2行目まで、3行目まで・・・と言う和が取れるということです
そうやって、データのあるところまでは合計が行番号と同じになり、空のセルが入るとその=行番号が崩れるということですのでからくちさんのと基本は大差がないです。

最初に考えたのが、87です
これは、有効データの部分のみ1の行列ができるので、それを列毎に合計するというものです
=SUM(MMULT(N(COLUMN(A:T)>0),N(MMULT(N(ROW(1:20)>=COLUMN(A:T)),N(A1:E20>0))=ROW(1:20))))
しばらく眺めてたら、外側のMMULTなんか必要ないことが分かり65に大幅減になりました。

5文字増えるというのは65のLEN(A1:E20)をN(LEN(A1:E20)>0)とすると言う単純な発想でした。
>1-(A1:E20="")
確かに↑ならOKですねーー

y sakuda

まだ問題あるんですよね?
明日出題あるんですかーー?
暇だから今日でもよかったw

くまぷー

>まだ問題あるんですよね?

それが売り切れ完売状態で
在庫0です。

・・・ということで
明日のネタはありません(^^ゞ

y sakuda

>在庫0です。
あら?
ジョー3とからくちさんから追加あったような気がしたんですけどね・・・
私も今のとこなにもおもいつかないし・・・
まあ、自分で出したの面白くないんですがねw

くまぷー

>ジョー3とからくちさんから追加あったような気がしたんですけどね・・・

ジョー3さんのは第81回、からくちさんのは第80回で
公開しています。
その後の分は頂いていないと思いますが・・・

からくち

>在庫0です。
あらあら。。。

もう、飽きたかも知れませんが、、、
間繋ぎに
「数字を作る」
でしたら直ぐにでも送れますよ

くまぷー

    ↑
ではお願いします。

y sakuda

>「数字を作る」
>でしたら直ぐにでも送れますよ
からくちさんのはひねりが利いてるので飽きないですよーー

からくち

>ではお願いします。
はい、、、送っておきました

y sakuda

>はい、、、送っておきました
すばや^^

からくち

因みに、、、

00~33文字:短い
34~66文字:普通
67~99文字:長い
なら、、、

出題者解答例は普通です

くまぷー

からくちさんから問題を頂きました。
ありがとうございます。m(__)m
これから公開しますのでもう暫くお待ち下さい。

コメントの確認

コメントのプレビュー

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

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

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

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

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

処理中...

コメントを投稿

アカウント情報

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

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