【解答例】56文字
{=SUM(N(LEN(C2&C3)=LEN(SUBSTITUTE(C3&C2,ROW(1:9),))+2))}
配列数式を使っています。解答例を試すためには中括弧を除いた部分、
=SUM(N(LEN(C2&C3)=LEN(SUBSTITUTE(C3&C2,ROW(1:9),))+2)) を入力して
shift、Ctrl、Enterを同時押ししてください。
【解説】
一番重要な部分は・・・
LEN(C2&C3)=LEN(SUBSTITUTE(C3&C2,ROW(1:9),))+2
・・・です。
式の右辺は・・・
LEN(SUBSTITUTE(C3&C2,ROW(1:9),""))+2
・・・と同じです。
1)もしも 模範解答に1、 生徒解答に1があればC3&C2には
1が2個含まれているはずなので・・・
=SUBSTITUTE(C3&C2,1,"")とやれば結果の文字数はC3&C2よりも2少なくなるはずです。
従って・・・
LEN(C2&C3)=LEN(SUBSTITUTE(C3&C2,ROW(1:9),))+2 は正答数の分だけTRUEになるはずです。
これをN関数で数値化して、SUM関数で和をだせば正答数が求められます。
(くまぷー)
MIDを使う方法しか思いつきませんでした。
53文字 {=COUNT(FIND(MID(C3,ROW(1:17),1),C2))-(33-LEN(C3))/2}
ROWも使わない 64文字
=SUM(N(SUBSTITUTE(C2,MID(C3,{1,3,5,7,9,11,13,15,17},1),"")<>C2))
投稿情報: ni | 2018年1 月 6日 (土曜日) 午後 08時06分
LENを使った式では
{=LEN(C2&C3&0)/2-COUNT(FIND(ROW(1:9),C2&C3))}
こんなのがありました
COUNT・FINDでは
{=COUNT(FIND(ROW(1:9),C2)*FIND(ROW(1:9),C3))}
こんなのもありました
投稿情報: からくち | 2018年1 月 6日 (土曜日) 午後 08時57分
>ROWも使わない
見逃していました
{=COUNT(FIND(RIGHT(LEFT(0&C3&0,ROW(1:9)*2)),C2))}
これがありました
因みにSUBSTITUTEは長いので書いて見ただけ
{=SUM(LEN(C2)*9,-LEN(SUBSTITUTE(C2,MID(0&C3,ROW(1:9)*2,1),)))}
これがありました
投稿情報: からくち | 2018年1 月 6日 (土曜日) 午後 09時20分
{=COUNT(FIND(--MID(C3,ROW(1:18),1),C2))}
40です。
A:A使うと相当重くなりますが、39でできます。
ほうしんとしては、積極的にエラー出して、残った奴がOKってしろものですので、それこそ教科書には載せられないw
今日答え合わせとは思わなかったです。
投稿情報: y sakuda | 2018年1 月 6日 (土曜日) 午後 09時50分
良い子はマネをしてはいけません
というか、
良い子はマネしません
よね
投稿情報: min | 2018年1 月 6日 (土曜日) 午後 11時39分
sakudaさんの40、部分的には私の53文字と似ているんだけど、
発想が全然違いますね。
からくちさんのも、くまぷーさんのもすごい発想。
全然思いつきませんでした。
まだまだ頭が固いなぁ
投稿情報: ni | 2018年1 月 7日 (日曜日) 午前 12時04分
>発想が全然違いますね。
すごく汚らしい発想です。
手抜きで、”,” を――でエラーにし、エラー込の配列でFindをかけ、無い奴はNAになる。
最終的に無事だった数を数える。
Q/Aだったら、やはり、エラーにならないように数字だけを取り出す。
Findの方はエラー判定をちゃんとやって、エラーにならないのを数えるってのがまっとうなやり方w
投稿情報: y sakuda | 2018年1 月 7日 (日曜日) 午前 01時19分
49{=COUNT(0/(FIND(MID(C3,ROW(1:9)*2-1,1),0&C2)>1))}
44{=SUM(N(COUNTIF(C2:C3,"*"&ROW(1:9)&"*")=2))}
45{=COUNT(FIND(ROW(1:9),C2)*FIND(ROW(1:9),C3))}
投稿情報: maron | 2018年1 月 7日 (日曜日) 午前 03時42分
からくちさんと、maronさんがやってらっしゃる、Findを2回というのはかんがえなかったですね。
最初から最後まで、どちらか一方から数字を得て、もう一方にFindをかけるって方向だけでした。
maronさんの44のCountif好きだな^^
投稿情報: y sakuda | 2018年1 月 7日 (日曜日) 午後 12時46分
{=SUM(LEN(C2)*9,-LEN(SUBSTITUTE(C2,MID(0&C3,ROW(1:9)*2,1),)))}
{=SUM(N(2=FREQUENCY(IFERROR(MID(C2&C3,ROW(1:34),1)*1,""),ROW(1:9)-1)))}
{=LEN(C2&C3&0)/2-COUNT(FIND(ROW(1:9),C2&C3))}
{=SUM(N(COUNTIF(C2:C3,"*"&ROW(1:9)&"*")=2))}
{=COUNT(FIND(RIGHT(LEFT(0&C3&0,ROW(1:9)*2)),C2))}
{=COUNT(0/(FIND(MID(0&C2,ROW(1:9)*2,1),0&C3)>1))}
{=COUNT(0/(FIND(MID(C3,ROW(1:20),1),","&C2)>1))}
{=COUNT(FIND(ROW(1:9),C2)*FIND(ROW(1:9),C3))}
{=COUNT(0/(FIND(MID(0&C3,ROW(1:9)*2,1),0&C2)>1))}
=SUM(N(FREQUENCY(LEFT(RIGHT(0&C2&0&C3&0,ROW(1:20)*2))*1,ROW(1:9)-1)=2))
=SUM(N(FREQUENCY(MID(0&C2&0&C3&REPT(0,99),ROW(1:18)*2,1)*1,ROW(1:9)-1)=2))
何を書こうかと思ったけど今回は今一お気に入りも無く
適当に10個位書いてみました
これ以外も多くの違いはありませんので、、、
投稿情報: からくち | 2018年1 月 7日 (日曜日) 午後 03時04分
帰って来ました・・・
皆さん、参加して頂きありがとうございます。m(__)m
いや~、皆さんの数式、どれ一つとっても
一目で理屈がわかるものがありません。
うーん、と唸って、たぶんこういう発想なんだろうというものが少々、
理解不能が多数です。(^^ゞ
本当にみなさんの頭の中はどうなっているんでしょう?
凡人には考えもつかない数式ばかりです。
ですから、一言、方針を書いてくれているsakudaさんには
特にに感謝です。助かります。m(__)m
この後食事してゆっくりと考えさせていただきます。
投稿情報: くまぷー | 2018年1 月 7日 (日曜日) 午後 06時57分
ああああ、、またやってしまいました、、
前回も、はやとちりというか
思い込みで問題を取り間違ってたのに今回は・・・
今日日曜日が解答日と思い込んでました、はぁ~
いつもの様に携帯で見てたのですが
今回は問題内容を理解することに集中しすぎて
解答日を見ていませんでした、、、
昨日は残業でPC使うタイミングはなさそうなので
コメントなしで直接解答することにして
早々に眠ってしまい、先ほど来てみたら
>解答発表は01/06(土)の20:00です
orz
一応考えていたのを、思いついた順に全部書き置きます
46 {=SUM(N(SUBSTITUTE(C2&C3,ROW(1:9),,2)<C2&C3))}
46 {=COUNT(FIND(MID(C2,FIND(ROW(1:9),C2),1),C3))}
40 {=COUNT(FIND(MID(C3,ROW(1:17),1)*1,C2))}
45 {=COUNT(FIND(ROW(1:9),C2)*FIND(ROW(1:9),C3))}
42 {=SUM(N(COUNTIF(2:3,"*"&ROW(1:9)&"*")=2))}
と、殆ど皆さんと同じでした
ああああ、最後になりましたが
今年もちょくちょくになると思いますが
よろしくお願いしますm(__)m
投稿情報: む印 | 2018年1 月 7日 (日曜日) 午後 08時49分
>今日日曜日が解答日と思い込んでました、はぁ~
む印さんだけじゃないですw
私もです
投稿情報: y sakuda | 2018年1 月 7日 (日曜日) 午後 09時27分
>>今日日曜日が解答日と思い込んでました、はぁ~
>む印さんだけじゃないですw
すみません。適当なもんで・・・(^^ゞ
>今年もちょくちょくになると思いますが
>よろしくお願いしますm(__)m
こちらこそですm(__)m
投稿情報: くまぷー | 2018年1 月 7日 (日曜日) 午後 11時01分