***********************************************************************************************
あけましておめでとうございます。
今年もよろしくお願いします。m(__)m くまぷー
************************************************************************************************
とりあえず解答
G10:K10を参照して
26{=-SUM(-MID(G10:K10,2,9))}
G10:K10を参照しない場合。ただし0があるとだめ。2007以上限定?
74{=MATCH(,-A:A,)+MATCH(,-B:B,)+MATCH(,-C:C,)+MATCH(,-D:D,)+MATCH(,-E:E,)-5}
0があってもok。2007限定?
99{=MATCH(1=1,A:A="",)+MATCH(1=1,B:B="",)+MATCH(1=1,C:C="",)+MATCH(1=1,D:D="",)+MATCH(1=1,E:E="",)-5}
とりあえず新年に顔を出せるかわかりませんので解答を送付します。
(minさん談)
おめでとうございまーーす
とりあえず全部投稿します^^
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 | 2011年1 月 1日 (土曜日) 午後 08時06分
出題者解の26・・・・
$を取らないでやっちゃうってのは全く思いつかなかったなーー
投稿情報: y sakuda | 2011年1 月 1日 (土曜日) 午後 08時11分
家から持ってきたコメントを携帯から投稿します
この問題は
「=\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))}
投稿情報: min | 2011年1 月 1日 (土曜日) 午後 08時31分
=\100+10
・・・ですが110にならずに
#NAME?とエラーになってしまうのですが・・・
エクセル2007とエクセル2000で試してみました。
投稿情報: くまぷー | 2011年1 月 1日 (土曜日) 午後 08時43分
ダブルクォーテーションでかこんでください
投稿情報: min | 2011年1 月 1日 (土曜日) 午後 08時46分
G10:K10を参照
43{=SUM(SUBSTITUTE(MID(G10:K10,2,9),"$",)*1)}
G10:K10を参照しない場合。穴1個。1行目に空白なし。
ただし0があるとだめ。
28{=SUM((A2:E20=0)*ROW(1:19))}
投稿情報: 通りすがり | 2011年1 月 1日 (土曜日) 午後 08時47分
="\100"+10
="$100"+10
本当だこうするとちゃんと計算される!!
これはびっくり!!
投稿情報: くまぷー | 2011年1 月 1日 (土曜日) 午後 08時56分
>28{=SUM((A2:E20=0)*ROW(1:19))}
なるほど。一行目に穴がないとすれば、こういう手もあったか^^
minmaxさんの71等やっと理解できました。
LargeとかSmallのこういう使い方全く思いつかなかったです。
こんな難しいこと良く思いつくな^^;
投稿情報: y sakuda | 2011年1 月 1日 (土曜日) 午後 08時57分
あけまして おめでとう ございます
どう見ても無駄があるように思えてならない
しかし哀しいかな、短縮は苦手
嫌いな関数を使っているから
余計そう思えるのか、、、
{=SUM(N(COUNTIF(OFFSET(A1,,{0,1,2,3,4},ROW(1:20)),"")=0))}
投稿情報: からくち | 2011年1 月 1日 (土曜日) 午後 09時12分
>どう見ても無駄があるように思えてならない
そうは思えませんがw
私も初めの内、Offsetで何とかしようと思ってたんですが、うまく行かず断念しました。
ようするにCountIfと組み合わせると言う発想はなかったです。
姿形は大分違いますが、やってることは私のもほとんど同じですが、文字数じゃまるで歯がたたないですねーー
投稿情報: y sakuda | 2011年1 月 1日 (土曜日) 午後 09時24分
COUNTIFが0の個数とは考えましたね。
理解するのに、かなり時間がかかりました。
投稿情報: 通りすがり | 2011年1 月 1日 (土曜日) 午後 10時03分
そう言えばジョー3はどうしちゃったんだろ?
1.酔いつぶれてる
2.大雪で遭難した
投稿情報: y sakuda | 2011年1 月 2日 (日曜日) 午前 10時08分
>そう言えばジョー3はどうしちゃったんだろ?
うちの、、こどもらが、、、帰ってきて、
皆で、実家に行ったり、、、、・・・
・・・・・・
勿論呑んだり、、、、
で、チラッとみては見ました、、、
みなさん、、、なるほどねーーー
で、、
>{=SUM(N(COUNTIF(OFFSET(A1,,{0,1,2,3,4},ROW(1:20)),"")=0))}
を、呑んだ後、、、寝る前に見たら、、、眠れなくなって、・・・・・
美しいなーーと思った。
考えがわかっても、、、わたしは、、技術がない・・・・
>どう見ても無駄があるように思えてならない
>しかし哀しいかな、短縮は苦手
いやーーー、、、十分良すぎです。。
わかりやすいしーーーー・・・・
投稿情報: jyo3 | 2011年1 月 2日 (日曜日) 午後 01時09分
今回の色塗り問題…
発展性はないと思いましたが皆さんの実力に圧倒されました。
おまけのつもりが…
ついていけない!
投稿情報: min | 2011年1 月 3日 (月曜日) 午前 12時20分
>おまけのつもりが…
穴複数は歯ごたえありましたよーー
minmaxさんのLargeも回答見せられても解読するのに結構手こずりました。
私のも他人から見るとシンプルとは言えないのかもしれませんがw
いろいろ手段は試したんですが、成功したのは65になった手法のみでした^^;
投稿情報: y sakuda | 2011年1 月 3日 (月曜日) 午前 12時52分
書きもらした^^;
>minmaxさんのLargeも回答見せられても解読するのに結構手こずりました。
minmaxさんのLargeもからくちさんのOffsetも回答見せられても解読するのに結構手こずりました。
投稿情報: y sakuda | 2011年1 月 3日 (月曜日) 午前 01時17分
>結構手こずりました。
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)))}
投稿情報: min | 2011年1 月 3日 (月曜日) 午前 04時31分
>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 | 2011年1 月 3日 (月曜日) 午前 10時22分
まだ問題あるんですよね?
明日出題あるんですかーー?
暇だから今日でもよかったw
投稿情報: y sakuda | 2011年1 月 3日 (月曜日) 午後 07時57分
>まだ問題あるんですよね?
それが売り切れ完売状態で
在庫0です。
・・・ということで
明日のネタはありません(^^ゞ
投稿情報: くまぷー | 2011年1 月 3日 (月曜日) 午後 09時56分
>在庫0です。
あら?
ジョー3とからくちさんから追加あったような気がしたんですけどね・・・
私も今のとこなにもおもいつかないし・・・
まあ、自分で出したの面白くないんですがねw
投稿情報: y sakuda | 2011年1 月 3日 (月曜日) 午後 10時35分
>ジョー3とからくちさんから追加あったような気がしたんですけどね・・・
ジョー3さんのは第81回、からくちさんのは第80回で
公開しています。
その後の分は頂いていないと思いますが・・・
投稿情報: くまぷー | 2011年1 月 3日 (月曜日) 午後 10時44分
>在庫0です。
あらあら。。。
もう、飽きたかも知れませんが、、、
間繋ぎに
「数字を作る」
でしたら直ぐにでも送れますよ
投稿情報: からくち | 2011年1 月 4日 (火曜日) 午後 09時44分
↑
ではお願いします。
投稿情報: くまぷー | 2011年1 月 4日 (火曜日) 午後 10時00分
>「数字を作る」
>でしたら直ぐにでも送れますよ
からくちさんのはひねりが利いてるので飽きないですよーー
投稿情報: y sakuda | 2011年1 月 4日 (火曜日) 午後 10時05分
>ではお願いします。
はい、、、送っておきました
投稿情報: からくち | 2011年1 月 4日 (火曜日) 午後 10時07分
>はい、、、送っておきました
すばや^^
投稿情報: y sakuda | 2011年1 月 4日 (火曜日) 午後 10時11分
因みに、、、
00~33文字:短い
34~66文字:普通
67~99文字:長い
なら、、、
出題者解答例は普通です
投稿情報: からくち | 2011年1 月 4日 (火曜日) 午後 10時13分
からくちさんから問題を頂きました。
ありがとうございます。m(__)m
これから公開しますのでもう暫くお待ち下さい。
投稿情報: くまぷー | 2011年1 月 4日 (火曜日) 午後 10時39分