急拵えの問題だったのですが、どうでしたでしょうか? 多少でも暇つぶしになっていれば、と思うしだいです・・・^^;
130: {=SUM((TRIM(MID(SUBSTITUTE(C3,"万","万"&REPT(" ",16)),{1,1,16},17))=NUMBERSTRING(ROW(1:9999)*10^{4,0,0},1))*ROW(1:9999)*10^{4,0,0})}
少し増設して、億にも対応してみました、、
183: {=SUM((TRIM(MID(SUBSTITUTE(SUBSTITUTE(C3,"万","万"&REPT(" ",15)),"億","億"&REPT(" ",15)),{1,1,1,16,16,37},17))=NUMBERSTRING(ROW(1:9999)*10^{8,4,0,4,0,0},1))*ROW(1:9999)*10^{8,4,0,4,0,0})}
(む印さん談)
今日改めてギリギリでやってみましたが
144でした。
もう少し時間があれば短く出来そうな気もしますが、、
144{=SUM((MID(C3,FIND("万","万"&C3&"万",{2,1}),FIND("万",C3&"万")+{9,-1})=NUMBERSTRING(ROW(1:9999),1))*ROW(1:9999)*{1,10000})/10000^ISERR(FIND("万",C3))}
検証してないので間違っていたらご指摘願いますm(_ _)m
投稿情報: min | 2012年6 月 2日 (土曜日) 午後 08時31分
139 {=MAX(ISNUMBER(FIND(TEXT(ROW(A:A),"[DBNum1]")&"万",C3))*ROW(A:A))/1%%+MAX((RIGHT(C3,COLUMN(A:G))=TEXT(ROW(1:9999),"[DBNum1]"))*ROW(1:9999))}
NUMBERSTRING って? HELPにも出てこないんですけど・・・
投稿情報: ni | 2012年6 月 2日 (土曜日) 午後 08時39分
>NUMBERSTRING って? HELPにも 出てこない
一番最初に思い付いた関数ですね
投稿情報: min | 2012年6 月 2日 (土曜日) 午後 08時47分
>同じ関数の複数回使用禁止にしてみたら
これの式が解答例と似てる
{=SUM(IFERROR(MATCH(TRIM(MID(SUBSTITUTE(C3,"万",REPT(" ",9)),{1,11},{10,13})),NUMBERSTRING(ROW(1:9999),1),),0)*IF(COUNTIF(C3,"*万*"),{10000,1},{1,0}))}
投稿情報: からくち | 2012年6 月 2日 (土曜日) 午後 08時49分
NUMBERSTRING(a1,1)=TEXT(A1,"[DBNum1]") ですね
本当はどちらも知らなかった私 orz
投稿情報: ni | 2012年6 月 2日 (土曜日) 午後 08時53分
>NUMBERSTRING って? HELPにも 出てこない
こんなの初めてみたんじゃないかな?
まあ、まるで駄目でしたが、やったのだけ公開します。
166
{=SUM(((LEFT(C3,COUNT(FIND("万",C3,ROW(2:9))))=TEXT(ROW(1:9999),"[DBNum1]"))*10^4+(MID(C3,COUNT(FIND("万",C3,ROW(1:9)),),9)=TEXT(ROW(1:9999),"[DBNum1]")))*ROW(1:9999))}
気に入らない151
{=MAX((LEFT(C3,COLUMN(A:H))=TEXT(ROW(1:9999)*10^4,"[DBNum1]"))*ROW(1:9999))*10^4+MAX((RIGHT(C3,COLUMN(A:G))=TEXT(ROW(1:9999),"[DBNum1]"))*ROW(1:9999))}
(これは前半にはA:Aが使えますので145にはなります。
Left、Right,midなしの171
{=SUM(((REPLACE(C3,COUNT(FIND("万",C3,ROW(2:9)),),9,)=TEXT(ROW(1:9999),"[DBNum1]"))*10^4+(REPLACE(C3,1,COUNT(FIND("万",C3,ROW(1:9))),)=TEXT(ROW(1:9999),"[DBNum1]")))*ROW(1:9999))}
ここまでしか私のPCでは動かなかったです。
{=SUM((TEXT((ROW(1:100)-1)*10^4+TRANSPOSE(ROW(1:9999)),"[DBNum1]")=C3)*((ROW(1:100)-1)*10^4+TRANSPOSE(ROW(1:9999))))}
10000までにすると121です。
投稿情報: y sakuda | 2012年6 月 2日 (土曜日) 午後 09時18分
みなさんの回答にはついていけません。。
投稿情報: min | 2012年6 月 3日 (日曜日) 午前 12時22分
みなさん、お付き合いいただき恐縮です。
はじまりは
"九千七百五万六千百八十三"*1しても数値化してくれなかったから^^
今回の数値化で真っ先に思いついた関数はMATCHでした
{=MMULT(MATCH(TRIM(MID(RIGHT(SUBSTITUTE("〇万"&C3&LEFT("〇",RIGHT(C3)="万"),"万",REPT(" ",15)),LEN(C3)+16),{1,16},16)),NUMBERSTRING(ROW(1:10000)-1,1),)-1,10^{4;0})}
で、からくちさんのに似てました^^;
>NUMBERSTRING って?
DATEDIFとおなじように
ロータス123との互換関数だそうです。
ほかにも色々あるみたい、、
つぎに別の方法を探してVLOOKUPとTEXT(ROW(1:9999),{"DBNum1";0})
などやってみましたが短くはならず、TRANSPOSE(ROW(1:10000))-1&ROW(1:10000)-1
でいっぺんにやろうとしましたが y sakudaさん同様、リソース不足にもなりました。
>みなさんの回答にはついていけません。。
こちらこそ短時間でここまでやっちゃうminさんにはついてゆけません、、
みなさんありがとうございました!
DBNum3の数値化も退屈しのぎになるとおもうので
お暇なときは、やってみてください。
投稿情報: む印 | 2012年6 月 3日 (日曜日) 午前 08時57分
む印さんの3列の配列を作るってのは、絶妙ですね。
それを活用して自分の式を改良してみましたが、
133にしかなりませんでした。
投稿情報: min | 2012年6 月 3日 (日曜日) 午後 04時17分
>絶妙ですね。
ありがとうございます^^
>133にしかなりませんでした。
あと2文字は減らせたようおにおもいます・・・。
投稿情報: む印 | 2012年6 月 3日 (日曜日) 午後 06時17分
>絶妙ですね。
×2
前後に分ける(&万がない判別)を一回でやるべきとは考えたんですが、どうにもならなかったです。
投稿情報: y sakuda | 2012年6 月 3日 (日曜日) 午後 07時29分
>133にしかなりませんでした。
133{=SUM((MID(C3,FIND("万","万"&C3&"万",{2,1,1}),FIND("万",C3&"万")+{9,0,0})=NUMBERSTRING(ROW(1:9999)*10^{0,4,0},1))*ROW(1:9999)*10^{0,4,0})}
ここからどうやって減らすんだろう??
投稿情報: min | 2012年6 月 3日 (日曜日) 午後 08時07分
>あと2文字・・・
最初に切り分けをFでするかSでするか、、
Fの方が使う関数少なくなるから短くなるか
とおもってやってみたら・・・
{=SUM((MID(C3,FIND("万",C3&"万")*{0,0,1}+1,FIND("万",C3&"万")+{0,0,7})=NUMBERSTRING(ROW(1:9999)*10^{4,0,0},1))*ROW(1:9999)*10^{4,0,0})}
投稿情報: む印 | 2012年6 月 3日 (日曜日) 午後 09時12分
なるほど。
投稿情報: min | 2012年6 月 3日 (日曜日) 午後 09時41分
え~と。。
投稿情報: min | 2012年6 月 3日 (日曜日) 午後 09時57分
え~と。。
2列の配列でやると、やっぱり最短にはならないのかあ??
133{=SUM((MID(C3,FIND("万",C3&"万")*{1,0}+1,FIND("万",C3&"万")+{9,-1})=NUMBERSTRING(ROW(1:9999),1))*ROW(1:9999)*10^{0,4}^COUNTIF(C3,"*万*"))}
投稿情報: min | 2012年6 月 3日 (日曜日) 午後 11時33分
>2列の配列・・・最短にはならないのかあ??
なりました!
まとめ:128
{=SUM((TRIM(MID(SUBSTITUTE(C3,"万",REPT(" ",9)),{1,11},13))=NUMBERSTRING(ROW(1:9999),1))*ROW(1:9999)*10^COUNTIF(C3,"*万*")^{4,0})}
投稿情報: む印 | 2012年6 月 4日 (月曜日) 午後 03時01分
あっ、勘違い、、、
129:
{=SUM((TRIM(MID(SUBSTITUTE(C3,"万",REPT(" ",15)),{1,16},17))=NUMBERSTRING(ROW(1:9999),1))*ROW(1:9999)*10^COUNTIF(C3,"*万*")^{4,0})}
投稿情報: む印 | 2012年6 月 4日 (月曜日) 午後 03時04分
あっ、COUNTIFと^{4,0}も逆だった、、、
129:正
{=SUM((TRIM(MID(SUBSTITUTE(C3,"万",REPT(" ",15)),{1,16},17))=NUMBERSTRING(ROW(1:9999),1))*ROW(1:9999)*10^{4,0}^COUNTIF(C3,"*万*"))}
投稿情報: む印 | 2012年6 月 4日 (月曜日) 午後 03時12分
>2列の配列・・・最短にはならないのかあ??
>なりました!
3列の配列でも129までは行くようなので、2列と3列は引き分けなのか?
どうもSUBSTITUTEのあんな使い方は、ぱっと発想出来ないもので、、
FINDにこだわって、、
129{=SUM((MID(C3,FIND({"万",0,0},0&C3&"万"),FIND("万",C3&"万")+{9,0,0})=NUMBERSTRING(ROW(1:9999)*10^{0,4,0},1))*ROW(1:9999)*10^{0,4,0})}
投稿情報: min | 2012年6 月 6日 (水曜日) 午後 11時43分
minさんいつもながら頑張りますねぇ~
>2列の配列・・・最短にはならないのかあ??
>なりました×2
わたしもSUBSTITUTEにこだわって、、
125{=SUM((TRIM(RIGHT(LEFT(SUBSTITUTE(C3,"万","万 "),{8,25}),8))=NUMBERSTRING(ROW(1:9999)*10^{4,0},1))*ROW(1:9999)*10^{4,0})}
※「"万 "」はスペース七つ
投稿情報: む印 | 2012年6 月 7日 (木曜日) 午後 05時18分
む印さん、いつもながら発想がいいですね。
3文字位へるかな?
{=SUM((TRIM(RIGHT(LEFT(SUBSTITUTE(C3,"万","0 "),{8,25}),8))=NUMBERSTRING(ROW(1:9999),1)&{0,""})*ROW(1:9999)*10^{4,0})
投稿情報: min | 2012年6 月 9日 (土曜日) 午前 10時32分
なるほど、万を0に置き換えて
&{0,""}で判別、3文字へらせるのかっ!
納得です^^
投稿情報: む印 | 2012年6 月 9日 (土曜日) 午後 12時33分
>3文字へらせるのかっ!
2文字でした、、^^;
投稿情報: む印 | 2012年6 月 9日 (土曜日) 午後 12時54分
ちょっと帰ってきました。
式が間違っていました。最後の「}」を忘れていたので、
2文字減って123でしたね。
投稿情報: min | 2012年6 月 9日 (土曜日) 午後 01時32分
あと、、ヴァージョンが2003までなら、TRIMがはずせます!
117{=SUM((RIGHT(LEFT(SUBSTITUTE(C3,"万","0〇〇〇〇〇〇〇"),{8,25}),8)=NUMBERSTRING(ROW(1:9999),1)&{0,""})*ROW(1:9999)*10^{4,0})}
多分バグだったと思いますが
2003まで漢数字の"〇"は不思議な文字で
たとえば
"A〇〇B"="ab" や "二〇〇三〇"="二三"などもTRUEとなります。
※EXACTでは流石にFALSEです。
2007以降は修正されてましたので、
2003までのヴァージョンをお持ちの方はお試しくださいd
投稿情報: む印 | 2012年6 月 9日 (土曜日) 午後 05時34分
懐かしいですね
ただ、それってエクセルのバージョンの問題でしたっけ?
投稿情報: min | 2012年6 月 9日 (土曜日) 午後 07時12分
私はてっきりヴァージョンの違いと思ってましたが、
OS、API?
投稿情報: む印 | 2012年6 月 9日 (土曜日) 午後 08時07分
>ヴァージョンの違いと思ってましたが、
どこかで話をしていたような気もして、、
探してみたら、
>第72回 曜日 合わせ その3 解答例
で話が出ておりましたので、、
結局よくわかりませんが。。
投稿情報: min | 2012年6 月16日 (土曜日) 午後 03時58分
>第72回 曜日 合わせ その3 解答例
で話が出ておりましたので、、
見てみました、、
確かに漢数字のゼロについて考察されてました、、、
どうやらOSがVISTAになってから出来なくなった感じですね
しかし、2年前くらいのことを
すっかり忘れてしまっている自分が怖い、、、
投稿情報: む印 | 2012年6 月18日 (月曜日) 午後 06時05分
私なんか前回の問題すら思い出せないことが多いです。
投稿情報: min | 2012年6 月18日 (月曜日) 午後 07時35分
>前回の問題すら思い出せない
σ^^;おなじ、、、
ちょっと前まで人気のタレントの名前も然る事乍ら
今さっき思いついたことさえもが・・・ww
投稿情報: む印 | 2012年6 月18日 (月曜日) 午後 07時51分