みなさんのお蔭で「関数できますか~?」も48回目を迎えました。
50回まであともう少しです・・・
さて解答です・・・
まず、F2です。F2にはセルB2,C2に表示される2枚のカードの合計値を
表示します。くまぷーのハウスルールでキング、クイーン、ジャック、エースも
全て10点なので最大値は20にしかなりません。よってエースを1点扱いに
する場合を考えなくて済みます。よってセルB2,C2の第1文字が数値なら
そのまま、絵札ならば10点扱いで合計します。
{=SUM(IF(ISNUMBER(--LEFT(B2:C2)),--LEFT(B2:C2),10))} (52文字)
次にG2に3枚目のカードの値を表示します。3枚目がエースだった場合は
10点扱いにするか1点扱いにするかを判定しなければなりません。
F2が12点以上なら、エースを10点扱いにすると3枚の合計が22を越えてしまうので
1点扱いにしなければなりません。
また、3枚目がエースでない時、絵札ならば10点扱い、そうでなければ
そもままの数値として扱います。よって・・・
{=IF(LEFT(D2)="A",IF(F2<12,10,1),IF(ISNUMBER(--LEFT(D2)),LEFT(D2),10))} (71文字)
最後にH2に得点を表示させます。3枚のカードの合計値が22以上なら
0点になるので・・・
=IF(D3,IF(F2+G2>21,0,F2+G2),F2) (31文字)
3つのセルの総合計文字数が156になってしまいました(^^ゞ
取り急ぎ、、解答例を見て、、、
=IF(D3,・・・
D3まで考慮するとは???
自分のは、ちょっと用を足してから後で出します。
あ、む印さんの30も参考にみたいです。
投稿情報: min | 2010年1 月16日 (土曜日) 午後 08時10分
私も結構長いまま終わりました。
最終的にはF2は38になりましたが、皆さんが出されるとおもいますので、40を二種出しておきます。いずれもTextです
F2 40
{=SUM(--TEXT(LEFT(B2:C2),"0;;;""10"""))}
F2 40その2
{=SUM(TEXT(CODE(B2:C2),"58[>57];0")-48)}
G2は49どまりでした
=D3*(MIN(CODE(D2)-48,10-(CODE(D2)=65)*(F2>11)*9))
H2は19これは多分皆さん同じ
=(F2+G2<22)*(F2+G2)
で、合計は108(F2を38に入れ替えれば106)
投稿情報: y sakuda | 2010年1 月16日 (土曜日) 午後 08時17分
恥ずかしながら、、、
「2枚の合計値」:37
=MIN(CODE(B2),58)+MIN(CODE(C2),58)-96
「3枚目の値」
早とちりした30は
=FIND(LEFT(D2),"A23456789"&D2)
間違いに気付いて修正した43が2種
=FIND(LEFT(D2),IF(F2>11,"A",1)&23456789&D2)
=MIN(CODE(D2)-48,10^((F2>11)*CODE(D2)<>65))
「YOUR SCORE」:19
=(F2+G2<22)*(F2+G2)
また間違ってないといいけど、、、、
投稿情報: む印 | 2010年1 月16日 (土曜日) 午後 08時20分
くまぷーさんはD3をH2の方で扱ってるのか、そっちは全く考えなかったな・・・
投稿情報: y sakuda | 2010年1 月16日 (土曜日) 午後 08時22分
>D3*
わー、配慮に欠けました、、、
投稿情報: む印 | 2010年1 月16日 (土曜日) 午後 08時24分
そうか、む印さんのは、2枚の時もG2カウントしちゃいますね。
投稿情報: y sakuda | 2010年1 月16日 (土曜日) 午後 08時35分
>早とちりした30は
早とちり、、、が~~~ん
どう考えても30にはならない、、、
故に、早々に諦めた
=FIND(LEFT(D2),"A23456789"&D2,2-(F2>11))
投稿情報: からくち | 2010年1 月16日 (土曜日) 午後 08時41分
すみません、20どの日本酒をけっこう
頂いて朦朧としています。
ご免なさい(^^ゞ
投稿情報: くまぷー | 2010年1 月16日 (土曜日) 午後 08時47分
>む印さんのは、2枚の時もG2カウントしちゃいますね。
www
>=FIND(LEFT(D2),"A23456789"&D2,2-(F2>11))
おおー、そうすれば良かったんですねー
投稿情報: む印 | 2010年1 月16日 (土曜日) 午後 09時39分
くまぷーさん
D3まで考慮するとは、さすが出題者
sakudaさんF2はTEXTですか、、
私の似たようなもの
F2
38{=SUM(--TEXT(LEFT(B2:C2),"0;;;!1!0"))}
38{=SUM(10-TEXT(58-CODE(B2:C2),"0;!0"))}
40{=SUM(--TEXT(CODE(B2:C2)-48,"[>9]1!0"))}
sakudaさんもG2では、D3を考慮しているのかあ。
さすがだなあ。
私は一切考慮しませんでした。
む印さん
>「2枚の合計値」:37
見せられればなるほどですが、個別に計算するのはかんがえませんでした。
3枚目の値はFINDでしたか。頭ではちらっと浮かんだがやらなかった。
>=FIND(LEFT(D2),IF(F2>11,"A",1)&23456789&D2)
IFの中の1は省略できるのかな。
それにしても、MINは考えなかった。
からくちさん
FINDのこんな使い方見た事ありません。
さすがだなあ。
あと自分の式は怪しいの多いですが、
ちょっとだけご披露します。
F2
38{=SUM(--IF(B2:C2<"⑩",LEFT(B2:C2),10))}
38{=SUM(IF(B2:C2>"⑩",10,--LEFT(B2:C2)))}
あっているのか?
G2
47=IF(D2>"⑩",10,LEFT(D2))-(CODE(D2)=65)*(F2>11)*9
52=TEXT(LEFT(-(CODE(D2)=65)*(F2>11)&D2,2),"0;1;;!1!0")
機種依存文字はよくわからない??
投稿情報: min | 2010年1 月16日 (土曜日) 午後 09時50分
minmaxさんの),"0;;;!1!0"・・・・
σ(^^)なれないことやるもんだから思い出さなかったw
>=FIND(LEFT(D2),"A23456789"&D2,2-(F2>11))
さすがだなあ。×2
投稿情報: y sakuda | 2010年1 月16日 (土曜日) 午後 10時30分
大したものではないが一応これもだしておこうかな
39{=SUM(--MID(10&B2:C2,2-(B2:C2>"⑩"),2))}
40{=SUM(--LEFT(--(B2:C2>"⑩")*10&B2:C2,2))}
投稿情報: min | 2010年1 月16日 (土曜日) 午後 10時53分
>大したものではないが一応これもだしておこうかな
なるほど、こう言う発想もありか^^
投稿情報: y sakuda | 2010年1 月16日 (土曜日) 午後 11時23分
レスが遅くて済みません
>くまぷーさんはD3を
>>D3*
>わー、配慮に欠けました、、、
>くまぷーさん
>D3まで考慮するとは
D3は「ONE MORE」のチエックボックスに
リンクしているので、3枚目をオープンしたかどうかを
判定しています (^^ゞ
投稿情報: くまぷー | 2010年1 月17日 (日曜日) 午前 07時00分
>>D3*
>わー、配慮に欠けました、、、
なるほど、sakudaさんはG2で
チエックしているのか・・・
Text関数か・・・
おいらには使いこなせない・・・
投稿情報: くまぷー | 2010年1 月17日 (日曜日) 午前 07時16分
む印さんの・・・
>「2枚の合計値」:37
>=MIN(CODE(B2),58)+MIN(CODE(C2),58)-96
なるほど・・・
絵札のコードはすべて58以上になるから
あとで48を2回、つまり96を引けば
これでB2とC2の合計がでるのか・・・
ぜんぜん思い浮かばなかった・・・
投稿情報: くまぷー | 2010年1 月17日 (日曜日) 午前 07時27分
minmaxさんの・・・
B2:C2<"⑩"
「⑩」と比べると・・・
1,2,3,4,5,6,7,,8,9はTRUEになり
A,K,Q,JはFALSEになるなんて・・・
これも、ぜんぜん思い浮かばなかった・・・
投稿情報: くまぷー | 2010年1 月17日 (日曜日) 午前 07時38分
からくちさんの・・・
>=FIND(LEFT(D2),"A23456789"&D2,2-(F2>11))
2-(F2>11)が絶妙ですね~
2枚のカードの合計が11を越えていると
=FIND("A","A23456789A",1)
そうでなければ
=FIND("A","A23456789A",2)
というふうに検索位置が変わるのか・・・
K、Q、J、⑩ならば・・・
=FIND("⑩","A23456789⑩",1)
=FIND("⑩","A23456789⑩",2)
のようになり、検索位置にかかわらず
10が返される・・・
うーん、かっちょええな~
投稿情報: くまぷー | 2010年1 月17日 (日曜日) 午前 07時51分
>>=FIND(LEFT(D2),IF(F2>11,"A",1)&23456789&D2)
>IFの中の1は省略できるのかな。
是非やってみてください、 面白いですよd
y sakudaさんのTEXT関数もの2種、どちらも
こういう表示形式の書き方は知りませんでした!
一文字増えるので出さなかったのですが・・・
こっちの方が気に入ってる、G2(G3*は省略)
=MIN(CODE(D2)-48,10^(MID(F2-2&D2,3,1)<>"A"))
投稿情報: む印 | 2010年1 月17日 (日曜日) 午前 11時28分
>=MIN(CODE(D2)-48,10^(MID(F2-2&D2,3,1)<>"A"))
パッと見じゃ理解できない・・・
後で良く考えてみよ
>こういう表示形式の書き方は知りませんでした!
表示形式はまるでダメなんで、怪しげな記憶と山勘ですw
投稿情報: y sakuda | 2010年1 月17日 (日曜日) 午前 11時47分
>是非やってみてください、 面白いですよd
こりゃ不思議ですね。
やっぱり1はいるんですね。
>>=MIN(CODE(D2)-48,10^(MID(F2-2&D2,3,1)<>"A"))
>パッと見じゃ理解できない・・・
なるほど、
でもこういうのは自分には発想出来ない。。
からくちさんのはからくちさんの本意ではないかもしれませんが
2-(F2>11)を
3-F2/11
にかえれば2文字減るのかな。
投稿情報: min | 2010年1 月17日 (日曜日) 午後 12時54分
>3-F2/11
う~ん、=IF( , , ) といい、minさんは
ほんとに研究熱心だ。
見習わなければ・・・
投稿情報: くまぷー | 2010年1 月19日 (火曜日) 午前 06時02分
うん?
今週はお休みかな?
投稿情報: y sakuda | 2010年1 月19日 (火曜日) 午後 08時41分
>今週はお休みかな?
実は第50回を目の前にして
問題の在庫があと1回分しかありません。
どうしようかと思っているうちに
8時を過ぎてしまいました。
申し訳ありませんが、
今週は1回お休みということにさせて下さい。
ひょっとしたら次回の第49回がフィナーレかも・・・
投稿情報: くまぷー | 2010年1 月19日 (火曜日) 午後 09時22分
>問題の在庫があと1回分しかありません。
後一題ってもしかして私のかな?
あれは埋め草みたいなもので、最終回にはふさわしくないと思うんですけど^^;
投稿情報: y sakuda | 2010年1 月19日 (火曜日) 午後 10時34分
>後一題ってもしかして私のかな?
そうです。
>最終回にはふさわしくないと思うんですけど^^;
いやいや、そんなことはありません(^^ゞ
投稿情報: くまぷー | 2010年1 月19日 (火曜日) 午後 10時45分
今晩、第49問目を公開します。
よろしくお願いします。m(__)m
投稿情報: くまぷー | 2010年1 月26日 (火曜日) 午前 05時56分