この問題は問題を作成した時試してみた式から本質的にはほとんどすすみませんでした。
問1についても、10個固定という特性を生かす手段が思いつかず、オリジナル版の問2とほとんど同じ69止まりでした。
{=SUM(N(MATCH(LEFT(B4:B13,FIND(" ",B4:B13))&"*",B4:B13,)=ROW(1:10)))}
問2は72からピクリともうごきませんでした。
今回も出題者完敗の巻です^^;
{=COUNT(LN(MATCH(LEFT(B4:B13,FIND(" ",B4:B13))&"*",B4:B13,)=ROW(1:10)))}
(y sakudaさん談)
では・・・
問題2の63文字:
=SUM(IFERROR(1/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B)-1)&" *"),))
・・・Ctrl+Shift+Enter
投稿情報: くまぷー | 2010年6 月 5日 (土曜日) 午後 08時13分
これも69でした、、
{=SUM(IF(B4:B13>0,1/COUNTIF(B:B,LEFT(B4:B13,FIND(" ",B4:B13))&"*")))}
80は
=COUNT(0/FREQUENCY(MATCH(LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*",B:B,),ROW(4:13)))
投稿情報: む印 | 2010年6 月 5日 (土曜日) 午後 08時16分
うーーん、なぜか、1/nと言うのは考えなかったな。
Frequencyのはほぼ同じ型でやってましたが、字数が増えるので捨てました。
63は2007ですね。
投稿情報: y sakuda | 2010年6 月 5日 (土曜日) 午後 08時24分
IFERRORか、考えたけど、ありなんだ…
EXCEL2007だと、そこまで範囲省略できるんだ…
そもそも、自宅PC、EXCEL2002なので…
問1
62:{=SUM(1/COUNTIF(B:B,LEFT(OFFSET(B4,,,COUNTA(B4:B13)),3)&"*"))}
問2
69:{=SUM((B4:B13>0)/COUNTIF(B:B,LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*"))}
76:{=SUM((MATCH(LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*",B4:B13,)=ROW(1:10))*1)}
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 08時37分
問1 間違えた
54:{=SUM(1/COUNTIF(B:B,LEFT(B4:B13,FIND(" ",B4:B13))&"*"))}
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 08時45分
問1 今度は文字数間違えた
56:{=SUM(1/COUNTIF(B:B,LEFT(B4:B13,FIND(" ",B4:B13))&"*"))}
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 08時48分
通りすがりさんのはくまぷーさんと同じ発想ですね。
いずれにしろ今回も完敗ですねーー
ところで76は74見たいです。
投稿情報: y sakuda | 2010年6 月 5日 (土曜日) 午後 09時01分
>63は2007ですね。
そうです。
>うーーん、なぜか、1/nと言うのは考えなかったな。
以前、三四郎でやったコレと同じ発想です。(^^ゞ
http://kumapooh.typepad.jp/blog/2007/07/post_c3f7.html
投稿情報: くまぷー | 2010年6 月 5日 (土曜日) 午後 09時18分
どちらかと言うと、む印さんのに近いですね。
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 09時19分
69はむ印さんと通りすがりさんの2種
いずれも全く一緒でした。
なーんだ、くまぷーさんは2007でしたか。
2007なら62でした。
投稿情報: min | 2010年6 月 5日 (土曜日) 午後 09時36分
2007限定の62
{=SUM((B:B>0)/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B&" "))&"*"))-1}
2003では、日本人限定で68が最短でした。
投稿情報: min | 2010年6 月 5日 (土曜日) 午後 09時39分
くまぷーさんの、「" *"」は、「FIND( )-1」の-1を取って、「"*"」で良いような…
さらに、A3を「-1」するから、
62:{=SUM(IFERROR(1/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B))&"*"),))-1}
2007ないので、検証してないけど…
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 09時54分
A3じゃなくて、B3だった
ボロボロ
投稿情報: 通りすがり | 2010年6 月 5日 (土曜日) 午後 09時55分
>2007限定の62
>{=SUM((B:B>0)/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B&" "))&"*"))-1}
minさん、なるほどです。
通りすがりさんの
>62:{=SUM(IFERROR(1/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B))&"*"),))-1}
{=SUM(IFERROR(1/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B))&"*"),))}
として60文字になりますかね?
投稿情報: くまぷー | 2010年6 月 5日 (土曜日) 午後 10時27分
む印さんの
>=COUNT(0/FREQUENCY(MATCH(LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*",B:B,),ROW(4:13)))
は1種類もない(全部空白)の場合に誤判定しますね。
通りすがりさんから提案のあった式は
{=SUM(IFERROR(1/COUNTIF(B:B,LEFT(B:B,FIND(" ",B:B))&"*"),))}
60文字で良いような。。
投稿情報: min | 2010年6 月 5日 (土曜日) 午後 10時28分
>どちらかと言うと、む印さんのに近いですね。
くまぷーさんとむ印さんの投稿ごっちゃにしてました^^;
私のFrequency版は84です。これはオール空でもOKです。
{=COUNT(0/FREQUENCY(MATCH(LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*",B4:B13,),ROW(1:9)))}
投稿情報: y sakuda | 2010年6 月 5日 (土曜日) 午後 10時35分
しかしsakudaさんのLN・・・良くおもいつくなあ。
日本人限定68文字(2003でもOKだと思う)
{=INT(SUM(1/COUNTIF(B:B,LEFT(SUBSTITUTE(B4:B13," "," ******"),8))))}
投稿情報: min | 2010年6 月 5日 (土曜日) 午後 10時39分
合作の2007の60はOK見たいですね。
しかし、2007でB:B系の配列数式、むちゃくちゃ重いw
投稿情報: y sakuda | 2010年6 月 5日 (土曜日) 午後 10時42分
>LN・・・良くおもいつくなあ
0をエラーではじきたい時に、前から使ってます。たぶん何度か晒してると思いましたが^^;
minmaxさんの限定版、アイデアですねーー
投稿情報: y sakuda | 2010年6 月 5日 (土曜日) 午後 10時46分
>たぶん何度か晒してると思いましたが^^;
見た記憶はありますが、使い方は理解してませんでした。
>アイデアですねーー
大したことないですが、、
ありがとうございます。
投稿情報: min | 2010年6 月 5日 (土曜日) 午後 11時12分
>(全部空白)の場合に誤判定しますね。
想定してませんでした、、、、
y sakudaさんの
>{=COUNT(0/FREQUENCY(MATCH(LEFT(B4:B13,FIND(" ",B4:B13&" "))&"*",B4:B13,),ROW(1:9)))}
なるほど、こうすればいいのかぁ~
ただ、この場合Ctrl+Shift+Enterはしなくてもいいみたいです。
minさんの日本人限定、私も似たことはしてたんですが
INTでいけるとは知りませんでした、、、
COUNTIF(B:B,"")って不思議・・・
投稿情報: む印 | 2010年6 月 6日 (日曜日) 午前 07時12分
>ただ、この場合Ctrl+Shift+Enterはしなくてもいいみたいです。
あら、ホントだ^^
投稿情報: y sakuda | 2010年6 月 6日 (日曜日) 午前 09時29分
>COUNTIF(B:B,"")って不思議・・・
これも気が付いていなくて??なんですが・・・・
なるほど、B:B数えてるから結果的には誤差になっちゃうわけですねw
投稿情報: y sakuda | 2010年6 月 6日 (日曜日) 午前 09時32分
今回、1/0がエラーになるジレンマに悩まされ、、
色々やってみましたがどれも長くなるばかりでした・・・
あまり意味は無いのですが、
まだ出ていないようなので・・・
70:
{=SUM(COUNTIF(B:B,LEFT(B4:B13,FIND(" ",B4:B13))&"*")^(-1^(B4:B13>0)))}
109:
=SUM(1/MMULT(N(TRANSPOSE(LEFT(B4:B13,
FIND(" ",B4:B13&" ")))=LEFT(B4:B13,FIND(" ",B4:B13&" "))),A4:A13+1))-1
投稿情報: む印 | 2010年6 月 6日 (日曜日) 午後 04時47分
109の{}Ctrl+Shift+Enterが抜けてました、、
投稿情報: む印 | 2010年6 月 6日 (日曜日) 午後 04時49分
む印さんの109のタイプは私も考えたのですが、やはり長くなるのが見えちゃってるので構想だけでおわっちゃいました。
投稿情報: y sakuda | 2010年6 月 6日 (日曜日) 午後 07時28分
む印さんの70なかなかいいですね。
109のほうは、
>,A4:A13+1
をついつい
D1:M1+1,
ってやって1文字減らしちゃいます。
今回はあんまり意味はないけど。
MMULTとTRANSPOSEか、、
さすが○○だな~。
今回は、ベースはQ&Aで定番の解答があるから解くのは簡単だったけど、
定番の解答があるだけに短縮はきつかったですね。
投稿情報: min | 2010年6 月 6日 (日曜日) 午後 08時28分
>ベースはQ&Aで定番の解答があるから解くのは簡単だったけど
この手の質問確かに良くみかけるのですが、私、実は回答の方はチラッとしか見たことないので、定番がどうなってるのか良く知りませんでしたw
ただ、普通良く見るのが何種類あるかだけでその一部ってのはあまり見た覚えがないので問題にしちゃいました。
投稿情報: y sakuda | 2010年6 月 6日 (日曜日) 午後 09時27分
>D1:M1+1,
えっ、、それでいけるの・・・?
投稿情報: む印 | 2010年6 月 7日 (月曜日) 午後 06時10分
>えっ、、それでいけるの・・・?
えっ、、いけないのかなあ??
>=SUM(1/MMULT(N(TRANSPOSE(LEFT(B4:B13,FIND(" ",B4:B13&" ")))=LEFT(B4:B13,FIND(" ",B4:B13&" "))),A4:A13+1))-1
を
{=SUM(1/MMULT(D1:M1+1,N(TRANSPOSE(LEFT(B4:B13,FIND(" ",B4:B13&" ")))=LEFT(B4:B13,FIND(" ",B4:B13&" ")))))-1}
では問題があるのかな?
投稿情報: min | 2010年6 月 7日 (月曜日) 午後 09時40分
なるほど、、、
MMULTの第1因数にD1:M1+1(行方向の配列)を指定するんですね、、、
そういえばminさんが以前の問題でやっておられましたねぇ~^^;
投稿情報: む印 | 2010年6 月 7日 (月曜日) 午後 10時55分
で、次はどうなるんでしょ?
投稿情報: y sakuda | 2010年6 月10日 (木曜日) 午後 09時43分
>で、次はどうなるんでしょ?
うん、うん、、、。。。。
さてさて、、、、
投稿情報: ジョー3 | 2010年6 月10日 (木曜日) 午後 11時18分
次は明日、かな・・・
投稿情報: くまぷー | 2010年6 月11日 (金曜日) 午後 06時11分
>次は明日、かな・・・
ほほーーーー
投稿情報: ジョー3 | 2010年6 月11日 (金曜日) 午後 06時51分