この問題のポイントは左辺の数字を如何にして切り取るか
に尽きると思っていたのですが、
皆さん予想出来ない発想で取り組んでいただいてるようで
答え合わせが楽しみです!
【解答例】
①切出した 左辺-右辺 を {-(左辺),-(-右辺)} の配列にして合計する方法。
78:{=SUM(-MID(SUBSTITUTE(C5,"-","
-"),MIN(FIND(ROW(1:9),C5&PI()))+{0,3},{3,6}))}
※minさんのお陰で思い出した規則を利用して短縮^^
71:=SUM(-MID(SUBSTITUTE(C5,"-"," -"),FIND(MID(C5,3,1),C5,4)+{1,4},{3,6}))
②ハイフンを中心に左辺へは一文字づつずらしながら文字数を一文字づつ増やし、
右辺はハイフンから右を切出した文字を数値化して合計する方法。
(TEXT関数で、数字なら数字、文字なら"0"としてエラー対処)
78:=SUM(LARGE(-TEXT(MID(C5,FIND("-",C5)-{1;2;3;0},{1;2;3;4}),"0;-0;0;!0"),{1,4}))
77:=SUM(TEXT(MID(C5,FIND("-",C5)-{1,2,3,0},{1,1,1,4}),"-0;0;0;!0")*10^{0,1,2,0})
③は②と同じ手法ですが、便利なLOOKUP関数を使うことで、数値化でのエラーを無視し、更に、
{0,999}という配列を検索値に指定することで最小値と最大値の配列も取得。
62:=SUM(LOOKUP({0,999},-MID(C5,FIND("-",C5)-{1;2;3;0},ROW(1:4))))
--
(む印さん談)
コメントを投稿
アカウント情報
(名前は必須です。メールアドレスは公開されません。)
今回は全然アイデアが出ず、記述がダブルなどダサイものしかできませんでした。
最初にできたものの発展形109
{=MID(C5,FIND("-",C5)+1,3)-MID(LEFT(C5,FIND("-",C5)-1),MIN(IF(ISERR(0/MID(C5,ROW(1:20),1)),30,ROW(1:20))),3)}
大幅短縮できた93
{=-MID(C5,FIND("-",C5),4)-MID(LEFT(C5,FIND("-",C5)-1),LEN(C5)-COUNT(MID(C5,ROW(1:20),1)%),3)}
出題者のヒントでできた80
=-MID(C5,FIND("-",C5),4)-MID(LEFT(C5,FIND("-",C5)-1),FIND(MID(C5,3,1),C5,4)+1,3)
さあ、これから出題者解答みるぞ^^
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時03分
む印さん、最初のが行が変わっているところにワンブランクあるんでしょうが、うまく行きません。
字数も78にならないし、確認願えませんか?
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時14分
あっ、分かった2ブランク必要なんですね^^;
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時16分
こんばんは。
76:=ROWS(INDIRECT(SUBSTITUTE(REPLACE(C5,1,FIND(MID(C5,3,1),C5,4),),"-",":")))-1
74:=-MID(C5,FIND("-",C5),4)-IMREAL(REPLACE(C5,1,FIND(MID(C5,3,1),C5,4),)&"i")
72:{=SUM(-MID(SUBSTITUTE(C5,"-"," -"),FIND(MID(C5,3,1),C5,4)+{1,7},6))}
67:{=MID(C5,FIND("-",C5)+1,3)-(MATCH(,-FIND(ROW(1:1000)-1&"-",C5))-1)}
60:{=1-MID(C5,FIND("-",C5),4)-MATCH(,-FIND(ROW(A:A)-1&"-",C5))}
投稿情報: kir | 2009年6 月27日 (土曜日) 午後 08時16分
えーい!!
やけのやんぱち、213文字!!
=MID(MID(C5,FIND(MID(C5,3,1),MID(C5,7,10))+7,10),FIND("-",MID(C5,FIND(MID(C5,3,1),MID(C5,7,10))+7,10))+1,3)-LEFT(MID(C5,FIND(MID(C5,3,1),MID(C5,7,10))+7,10),FIND("-",MID(C5,FIND(MID(C5,3,1),MID(C5,7,10))+7,10))-1)
どうだ、まいったか!!( ̄^ ̄)
投稿情報: くまぷー | 2009年6 月27日 (土曜日) 午後 08時19分
関数2個って言うだけ、、90文字
=MID(C5,FIND("-",C5)+1,3)-MID(C5,(FIND(MID(C5,3,1),C5,4)+1),H5-(FIND(MID(C5,3,1),C5,4)+1))
あとで見たら分かりにくいシーー・・・
好きではない。
こっちが好きです。
関数2個は同じですけど、、134文字
=MID(SUBSTITUTE(SUBSTITUTE(C5,"-"," "),MID(C5,3,1)," ",2),15,7)-MID(SUBSTITUTE(SUBSTITUTE(C5,"-"," "),MID(C5,3,1)," ",2),10,5)
投稿情報: ジョー3 | 2009年6 月27日 (土曜日) 午後 08時22分
あれーー
私の、、ここ、、
(SUBSTITUTE(C5,"-"," ")
-をスペース4個に取り替えます。
4個に見えるかなーーー
もうひとつのところは、、
スペース2個です。
投稿情報: ジョー3 | 2009年6 月27日 (土曜日) 午後 08時30分
99に拘り文字数99
=SUM(MID(SUBSTITUTE(SUBSTITUTE(C5,"-",REPT(" ",99)),MID(C5,3,1),
REPT(" ",99)),{199,299},99)*{-1,1})
マイナス "-" 使用禁止
=DATEDIF(LOOKUP(999,REPLACE(MID(C5,FIND(MID(C5,3,1),C5,4)+1,7),
ROW(1:7),1,".")*1),ABS(LOOKUP(999,RIGHT(C5,ROW(1:3))*1)),"d")
使用関数:左辺0右辺0?中央5?
=ROWS(INDIRECT(SUBSTITUTE(MID(C5,FIND(MID(C5,3,1),C5,4)+1,7),"-",":")))-1
この問題:右辺-左辺・・・しかし若し:右辺+左辺 だったら(-)を(+)に変えればいい
しかし無駄(お遊び)式では必ずしもそうはいかない
そこが無駄式の無駄たる所でもあり面白さでもあると思っている
投稿情報: からくち | 2009年6 月27日 (土曜日) 午後 08時30分
どうにか、む印さんの解読。
見せられればなるほどですが、Text使ったのと、Lookupのはとても書けない^^;
kirさんのも難解みたいですねーー
がんばって読むべー
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時31分
む印さんの62バグみっけ^^
ID/No:C/200-519 の時519になった
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時34分
>あっ、分かった2ブランク必要なんですね^^;
y sakudaさんお手数をお掛けしました^^;
kirさんの72はCtrl+Shift+Enterしなくていいから70文字
それから60ですが
>ROW(A:A)-1
-1まで入れていただき申し訳ないです、、
無しにして58文字で大丈夫です、m(_ _)m
しかしMATCHで左辺を取得するとはすごいアイデアだぁー!!
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 08時39分
ジョー3すみませんが、ブランクをすべて全角にして再投稿ねがえませんか?
それと、90のもそのまま貼り付けるとエラーになっちゃう
(理解できてないから直せないw)
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 08時41分
>ID/No:C/200-519 の時519になった
あああ、そうかぁー、「0」を完全に忘れてました、、、
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 08時45分
そおかーーー
全角スペースね
=MID(SUBSTITUTE(SUBSTITUTE(C5,"-"," "),MID(C5,3,1)," ",2),15,7)-MID(SUBSTITUTE(SUBSTITUTE(C5,"-"," "),MID(C5,3,1)," ",2),10,5)
今度はいいかなーーー
90のほうは良いみたいですけどーー
(貼り付けても、、)
投稿情報: jyo-3 | 2009年6 月27日 (土曜日) 午後 08時47分
あ、、、ごめんごめん、、
もうひとつのほうは・・・・
途中経過のを、コピーでした。
=MID(C5,FIND("-",C5)+1,3)-MID(C5,(FIND(MID(C5,3,1),C5,4)+1),FIND("-",C5)-(FIND(MID(C5,3,1),C5,4)+1))
投稿情報: ジョー3 | 2009年6 月27日 (土曜日) 午後 08時53分
>使用関数:左辺0右辺0?中央5?
そういうことでしたかぁー
kirさんもやっておられましたが
これは、最初にminさんが言っておられたやつですねー
この式は確かに優秀だと思いますd^^
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 08時54分
>無しにして58文字で大丈夫です、m(_ _)m
左辺0でエラーになるので駄目でしたよ。
RAND()の0~1未満とCEILING(※切り上げ)で、
左辺は0~300
右辺は左辺+0~500
の範囲ですよね。
>しかしMATCHで左辺を取得するとはすごいアイデアだぁー!!
からくちさんの手法を早速取り入れてみたところGood!でした。
投稿情報: kir | 2009年6 月27日 (土曜日) 午後 08時58分
kirさんのまいった^^
RowsのもImaginaryのもMatchのも想像を絶してますねーー
70のSubstituteのがフツウに見えるw
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 09時01分
LARGEも考えてたのに何処やったかな~??
別のやつが見付かりました。
67:{=SUM(-MID(SUBSTITUTE(C5,MID(C5,3,1)," "),FIND("-",C5)+{0,4},4))}
ちなみに、MID(C5,3,1)は隠し規則?を利用している式です。
3番目と左辺の前の文字が一緒なんですよね。
投稿情報: kir | 2009年6 月27日 (土曜日) 午後 09時06分
からくちさんの最初の二つはしばらく眺めてましたが理解できず^^;
73のはkirさんのと同じ発想ですね。
こんなの良く二人も思いつくもんだと、変なとこに感心^^
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 09時07分
>左辺は0~300
あっ、そうでしたRAND()*300ってしてました
それにしてもLOOKUP関数の特性である昇順が
「0」でつぶれてしまうのに気づかなかったのも不覚でした・・・www
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 09時08分
ジョー3のうごきましたけど、こんどは100文字???
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 09時08分
>こんどは100文字???
すまんすまん、、
1)2関数100文字と
2)2関数134文字だったみたい
2)は短縮できたが、分かりにくくなるので・・・・ださない・・・です。
投稿情報: ジョー3 | 2009年6 月27日 (土曜日) 午後 09時12分
この問題を携帯で覗いたときその瞬間に
=ROWS(INDIRECT(SUBSTITUTE(MID・・
で4関数だなと思いました。
実際にファイルを確認してみたら、、そんなに単純では無かった。。
とりあえず、短縮はかなわなかったけど、、
若干だぶっているけど、、
86=ROWS(INDIRECT(SUBSTITUTE(MID(C5,MIN(FIND({"/",":",";"},C5&"/:;",7))+1,9),"-",":")))-1
73=ROWS(INDIRECT(SUBSTITUTE(MID(C5,FIND(MID(C5,3,1),C5,7)+1,9),"-",":")))-1
適当にやった79
=SUM(-MID(SUBSTITUTE(MID(C5,FIND(MID(C5,3,1),C5,7)+1,9),"-"," -"),{1,7},6))
ほか、2,3パソコンでやった式あり、
後は、紙に書いてやってみたけど、長くなったので破った。
投稿情報: minmax | 2009年6 月27日 (土曜日) 午後 09時17分
答えの冒頭に、左辺 - 右辺とありましたので。(??)
式をコピーしたりして確認してしまいました。^^;
私が作ったのは113文字が最短でした。(p_-)
{=RIGHT(C5,LEN(C5)-FIND("-",C5))-RIGHT(LEFT(C5,FIND("-",C5)-1),COUNT(RIGHT(LEFT(C5,FIND("-",C5)-1),ROW(1:3))*1))}
後のは・・・・・。(^^ゞ
投稿情報: ますたあ | 2009年6 月27日 (土曜日) 午後 09時22分
minmaxさんもRowsですか。
なんだか、Rowsと-以降を後ろに下げるってのが、主流みたいですねーー
私は両方とも全く考えてなかったです。
今回のはやってる間アイデアが全然でず、フラストレーションがたまって面白くなかったのですが、答え合わせは意外なのが多くてとっても面白いですねーー
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 09時24分
夕方、残りの草刈をした。
帰って、疲れて、・・・お風呂&呑んで、、、
って、わけで、
自分のも、、
皆さんのも、、
頭に入らない。・・・・
でも、みなさん、、すごいなーーー
ってことだけは、感じているのだ。
投稿情報: ジョー3 | 2009年6 月27日 (土曜日) 午後 09時26分
>む印さんの62バグみっけ^^
修正したら68と6文字もふえてしまいました。
=SUM(-LOOKUP({-1,999},1*MID(C5,FIND("-",C5)-{0;1;2;3},{4;1;2;3})))
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 09時44分
こんばんは~
富山って暑いんですね!
山口の方が涼しいくらいでした。
で、結局95文字のまんまです。
=-MID(C5,FIND("-",C5),9)-MID(C5,FIND(MID(C5,3,1),C5,4)+1,FIND("-",C5)-FIND(MID(C5,3,1),C5,4)-1)
ジョー3さんと同じ100文字を、少し絞っただけです。
投稿情報: かず | 2009年6 月27日 (土曜日) 午後 09時58分
>修正したら68と6文字もふえてしまいました。
66文字みたいですけど?
投稿情報: y sakuda | 2009年6 月27日 (土曜日) 午後 10時09分
ジョー3さんと、かずさんの関数2種も
いろいろ在るみたいですねー
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 10時12分
>66文字みたいですけど?
あっ、ホントだ
投稿情報: む印 | 2009年6 月27日 (土曜日) 午後 10時14分
みなさん、ほんとにアイディアが豊富ですね~
正直それどころか、式を見せられても
よくわからないのがたくさんあるし・・・
参りました orz
投稿情報: くまぷー | 2009年6 月28日 (日曜日) 午前 04時31分
・・・・・・・・・・・・・・・・・・・・・・
第23回 からくちさん
第24回 む印さん
第25回 ますたあさん
いよいよ、フィナーレか・・・・
投稿情報: くまぷー | 2009年6 月28日 (日曜日) 午前 06時44分
>第25回 ますたあさん
>いよいよ、フィナーレか・・・・
ドキッ、もしかして大取り? ^^;;;;;
私の問題では申し訳ないような・・・・・。
投稿情報: ますたあ | 2009年6 月28日 (日曜日) 午前 09時23分
今更ながら、
>=SUM(-MID(SUBSTITUTE(C5,MID(C5,3,1)," "),FIND("-",C5)+{0,4},4))
kirさんの67(実際は65でOK)をしっかり検証してみて
左辺を切り出すブランク3とFIND("-",C5)、
その発想にぶっ飛びました。
いやぁ~参りました!
投稿情報: む印 | 2009年6 月28日 (日曜日) 午後 03時07分
そうそう、ついでに書き忘れていたLOOKUPを使った別式77を
書いときます。
=-INT(LOOKUP(,MID(C5,FIND("-",C5),5)+RIGHT(SUBSTITUTE(C5,"-","."),ROW(1:7))))
投稿情報: む印 | 2009年6 月28日 (日曜日) 午後 03時16分
む印さん頑張ってますね。
自分でも、できるかぎり頑張っているつもりですが、全く歯が立ちません。。。
む印さんを殿と仰いで早○○。
義と愛の精神でついて参ります。
なんて、、
天地人を見ながら言ってみたりする。
いよいよ来週が最終回ですか?
あ、天地人ではなく、関数で出来ますかのほう。
でも、前回シリーズの例から言えば、アンコールがあるのかも?
投稿情報: minmax | 2009年6 月28日 (日曜日) 午後 08時09分
今日は飲んだ〜
わけのわからん書き込み失礼しましたm(__)m
投稿情報: minmax | 2009年6 月28日 (日曜日) 午後 08時49分
>今日は飲んだ〜
楽しそうなお酒で・・・(^O^)
>でも、前回シリーズの例から言えば、アンコールがあるのかも?
どうなるのだろう?
私も知りたい・・・
投稿情報: くまぷー | 2009年6 月28日 (日曜日) 午後 08時55分
くまぷーさん、そういえば私がアイデアだけ放り投げたのどうなりました?
投稿情報: y sakuda | 2009年6 月28日 (日曜日) 午後 09時27分
>そういえば私がアイデアだけ放り投げたのどうなりました?
すみません、まだまとまっていないんです(^^ゞ
投稿情報: くまぷー | 2009年6 月28日 (日曜日) 午後 09時36分
今回の問題は出来そうで、
(ヤッター)
出来ませんでした。
(ガクッ)
でも、
今回も皆さんのすごい解答を拝見できて、
楽しませていただきました。
で、
こんなに、楽しく関数について学べる!
ところって、ほかにありませんよね ^^;
投稿情報: supermab | 2009年6 月28日 (日曜日) 午後 10時03分
supermab さん
確実に参加するために、出題しましょうw
投稿情報: y sakuda | 2009年6 月28日 (日曜日) 午後 11時12分
>確実に参加するために、出題しましょうw
×2
投稿情報: くまぷー | 2009年6 月29日 (月曜日) 午前 05時51分
>確実に参加するために、出題しましょうw
ぐえ!
でも、光栄ですwww
自分では出来ていないのが、
2つあるので、もすこし問題っぽくして
送ってみます。
皆さんの手にかかったらどーなるか?
判りませんが・・・
しかし、、フィナーレは困るから・・・
ツナギで ^^;
投稿情報: supermab | 2009年6 月29日 (月曜日) 午前 10時01分
こそこそ・・・・・
=RIGHT(C5,LEN(C5)-FIND("-",C5))-MID(C5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},C5&1234567890)),FIND("-",C5)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},C5&1234567890)))
146w
投稿情報: k@自転 | 2009年6 月29日 (月曜日) 午後 12時15分
>でも、前回シリーズの例から言えば、アンコールがあるのかも?
あーーー・・・・
これ見たとき、、、
アルコールって、読んでいた。
投稿情報: | 2009年6 月29日 (月曜日) 午後 05時20分
>自分では出来ていないのが、
2つあるので、もすこし問題っぽくして
送ってみます。
ほーーー・・・やはり、目指せ100回。だ。
投稿情報: ジョー3 | 2009年6 月29日 (月曜日) 午後 05時23分
>こそこそ・・・・・
なんか、おもしろそう・・・・
で、
自転車さん(ごめん)
あなたは、あちこちで、いっぱい問題を見ているでしょうから、、
すぐ、10題ぐらい出来ますでしょう!!
投稿情報: ジョー3 | 2009年6 月29日 (月曜日) 午後 05時26分
>アルコールって、読んでいた。
x2
あはは、、、わかった ^^;
投稿情報: supermab | 2009年6 月29日 (月曜日) 午後 05時27分
>あはは、、、わかった ^^;
ん、、なにがわかったんじゃい!!
と、思ったとたんに、
分かったことが分かった。・・・・
投稿情報: | 2009年6 月29日 (月曜日) 午後 06時13分
> すぐ、10題ぐらい出来ますでしょう!!
固まった頭では。。。orz
投稿情報: k@自転 | 2009年7 月 1日 (水曜日) 午前 09時29分
お~、k@自転さん、いらっしゃい!!
第25問のカルタ大会もよろしくです(^O^)
投稿情報: くまぷー | 2009年7 月 1日 (水曜日) 午後 05時53分