この問題はエクセルに対しては三四郎絶対に有利です。
なぜならば三四郎では下図のように・・・
*
*
*
A列に価格、B列に個数、C列に価格としてA列×B列と
するとエラーにならずに計算できちゃうんです (゜ロ)ギョェ
つまり、「数字(半角・全角問わず) & 文字」に四則演算を
すると数字の部分だけを取り出して計算するんです。
ですからA1に2x-3=5としてB1に=A1*1とやるとxの係数2が
求められちゃうんです (゜ロ)ギョェ
何という荒技でしょう?!
でも、こういうことができると唯一の解説本である「三四郎9のすべて」には
書いていないんですよね。いや~、もったいない ( ´-`)
解答例 (スミマセン、下はメチャクチャ解答でした。常連さんの
解答を参考にして下さい。くまぷー12/16追記)
Excel2007 162文字
=(RIGHT(A2,LEN(A2)-FIND("=",A2))-COUNT(MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1)))/IFERROR(FIND("-x",A2)*-1,IF(FIND("x",A2)=1,1,LEFT(A2,FIND("x",A2)-1)))
三四郎 122文字
=(RIGHT(A2,LEN(A2)-FIND("=",A2))-COUNT(MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1)))/IFERROR(FIND("-x",A2)*-1,IF(FIND("x",A2)=1,1,LEFT(A2,FIND("x",A2)-1)))
すみません、体調を崩してしまいました。
レスが遅れるかと思いますがよろしくお願い致します。
牡蠣が中ってしまったのかもしれません。
忘年会のビンゴは当たらなかったのに・・・(T.T)
投稿情報: くまぷー | 2008年12 月15日 (月曜日) 午後 08時06分
165文字
=(MID(A1,FIND("=",A1)+1,99)-IF(COUNTIF(A1,"*x=*"),,MID(LEFT(A1,FIND("=",A1)-1),FIND("x",A1)+1,99)))/(LEFT(A1,FIND("x",A1)-1)&REPT(1,FIND("x",SUBSTITUTE(A1,"-",))=1))
162文字
=(MID(A1,FIND("=",A1)+1,99)-IF(COUNTIF(A1,"*x=*"),,MID(LEFT(A1,FIND("=",A1)-1),FIND("x",A1)+1,99)))/IF(ABS(LEFT(A1,FIND("x",A1)-1)&1)=1,1,LEFT(A1,FIND("x",A1)-1))
常識的範囲?ということで・・・
>99)
ってしたけど、やっぱズルかな~(>_<)
投稿情報: む印 | 2008年12 月15日 (月曜日) 午後 08時27分
99で十分だと思う
私は32でやりました。
まだ家に帰ってないから投稿できないけど…
投稿情報: minmax | 2008年12 月15日 (月曜日) 午後 08時34分
私のは非常に素朴なものでExcel169です
=(MID(A2,FIND("=",A2)+1,9)-IF(ISERR(FIND("x=",A2)),MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1),))/(LEFT(A2,FIND("x",A2)-1)&IF(ISERR(LEFT(A2,FIND("x",A2)-1)%),1,))
>99)
私はもっとずるでcは9桁までになってますw
投稿情報: y sakuda | 2008年12 月15日 (月曜日) 午後 08時35分
>99で十分だと思う
ほっ、
なにせ文字の数字なので気になって・・・
ところで私の162文字は
「 -x 」には対応せず、ダメでした(>_<)>
投稿情報: む印 | 2008年12 月15日 (月曜日) 午後 09時29分
=(MID(A2,FIND("=",A2)+1,32)-IF(COUNTIF(A2,"*x=*"),0,MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1)))/IF(LEFT(A2)="x",1,IF(LEFT(A2,2)="-x",-1,LEFT(A2,FIND("x",A2)-1)))
何の工夫もないものですが・・・
文字数170字
ほかの方のを参考にすれば、10文字くらいは減るような気がしますが、
そんな程度じゃkirさんにはかなわないですね。
投稿情報: minmax | 2008年12 月15日 (月曜日) 午後 10時17分
皆さん、CountIFを使ってますね・・・・
私は全く考えなかった^^;
投稿情報: y sakuda | 2008年12 月15日 (月曜日) 午後 10時43分
私も9桁としましたが、172文字でした。
=(MID(A1,FIND("=",A1)+1,9)-IF(ISERR(FIND("x=",A1)),MID(A1,FIND("x",A1)+1,FIND("=",A1)-FIND("x",A1)-1),))/IF(LEFT(A1,1)="x",1,IF(LEFT(A1,2)="-x",-1,LEFT(A1,FIND("x",A1)-1)))
投稿情報: かず | 2008年12 月15日 (月曜日) 午後 11時21分
三四郎88文字です(1つ減らしました)
=(1-(Left(A2,2)="-x")*2)*(Mid(A2,Find("=",A2)+1,9)-Mid(A2,Find("x",A2)+1,9))/(A2+(A2=0))
三四郎だと、ほとんど何もする必要がありません。
これが当たり前だと思っていたから、
Excelでエラーになるのを見て、
Excelってなんて馬鹿なの?
と思いました(っています)。(^_^)(^_^)/~
投稿情報: 悪児 | 2008年12 月15日 (月曜日) 午後 11時36分
かずさんの171文字では?
CountIFを使わない、私のと同系統ですね。
少数派でさびしかったw
>Excelってなんて馬鹿なの?
>と思いました(っています)。(^_^)(^_^)/~
今回は三四郎の圧勝ですね^^
投稿情報: y sakuda | 2008年12 月15日 (月曜日) 午後 11時47分
164文字は別のBOOKでやってたみたいで
見つけました・・・
一応書いておきますd^^
=(MID(A1,FIND("=",A1)+1,99)-IF(COUNTIF(A1,"*x=*"),,MID(LEFT(A1,FIND("=",A1)-1),FIND("x",A1)+1,99)))/(LEFT(A1,FIND("x",A1)-1)&MID(1,FIND("x",SUBSTITUTE(A1,"-",)),1))
頭の調子が今年の漢字と同じで「変」ですw
投稿情報: む印 | 2008年12 月16日 (火曜日) 午前 12時12分
あ・・・・夕べ、一休みのつもりが・・・
眠ってしまった。
今、起きたが、
思考力はまだ、、、眠ったままである…・
投稿情報: ジョー3 | 2008年12 月16日 (火曜日) 午前 01時56分
おはようございます。
145:=(REPLACE(A2,1,FIND("=",A2),)-REPLACE(LEFT(A2,FIND("=",A2)-1),1,FIND("x",A2),))/(LEFT(A2,FIND("x",A2)-1)&REPT(1,ISERR(-LEFT(A2,FIND("x",A2)-1))))
141:=(REPLACE(A2,1,FIND("=",A2),)-REPLACE(LEFT(A2,FIND("=",A2)-1),1,FIND("x",A2),))/(LEFT(A2,FIND("x",A2)-1)&REPT(1,LEFT(A2,FIND("x",A2)-1)<"0"))
117:=(MID(A2,FIND("=",A2)+1,9^9)-REPLACE(LEFT(A2,FIND("=",A2)-1),1,FIND("x",A2),))/IMAGINARY(LEFT(A2,FIND("x",A2)-1)&"i")
130:=(MID(A2,FIND("=",A2)+1,9^9)-IMREAL(REPLACE(LEFT(A2,FIND("=",A2)-1),1,FIND("x",A2),)&"+i"))/IMAGINARY(LEFT(A2,FIND("x",A2)-1)&"i")
130以外は+b部分がないと計算できません。
130がNAMEエラーの場合は分析ツールアドインにチェックを入れてください。
投稿情報: kir | 2008年12 月16日 (火曜日) 午前 07時54分
みなさん、どうも。
下痢が止まらず、点滴を打ってきました。
ボロボロです。みなさんの解答を拝見する前に
自分の解答を確認したらExcel版は
メチャクチャ・・・解答になっていません。
その上、三四郎版の解答はExcelの
メチャクチャ解答と同じものが貼り付けられていました・・・
すみません。しばらく立ち直れそうにありません(T.T)
投稿情報: くまぷー | 2008年12 月16日 (火曜日) 午後 06時32分
今日はもう、安静にして休みます。(T.T)
投稿情報: くまぷー | 2008年12 月16日 (火曜日) 午後 06時33分
kirさんのすばらしい
Imaginaryなんか露ほども考えなかった・・・・
やはりまともな人間の発想とはオモエナイ^^;
>今日はもう、安静にして休みます。(T.T)
お大事にーー
投稿情報: y sakuda | 2008年12 月16日 (火曜日) 午後 09時13分
>Imaginaryなんか露ほども考えなかった・・・・
いちぎょうさんだったかな?前にIM系の関数使っておられたんですよ。
関数の一覧から一個づつみてて、本来の使い方は知らないんですが、
今回は流用できるなと思いまして。
>牡蠣が中ってしまったのかもしれません。
牡蠣はきついそうですね。お大事になさってください。
投稿情報: kir | 2008年12 月17日 (水曜日) 午前 08時01分
>牡蠣が中ってしまったのかもしれません。
私も以前経験があり、それ以来牡蠣が食べられなくなってしまいました。・・・
>IMREAL
kirさんの130文字は素数関数でしたかー、想像もつきませんでした。
>9^9
これもいいなぁー、
そういえばこの手法、2007腕自慢Q2(文字金額合計)受賞作の中にありましたね!
それで思い出したんですが、
前にPC21の掲示板にも書いた裏技使って・・・
F3に
=SUBSTITUTE(SUBSTITUTE(MID(A2,FIND("x",A2),9^9)&")","=",")+"),"x","="&LEFT("1/",FIND("x",A2))&LEFT(A2,FIND("x",A2)-1)&"*(-(0")
として、F2セルでAlt+↓で表示される式を選択入力する方法です。
完全なズルですけが・・・(^.^)
投稿情報: む印 | 2008年12 月17日 (水曜日) 午後 04時56分
SUBSTITUTEは、やりかけたけど挫折した。
きちんと見てませんでしたが、
へーーー素数ですかーーー
これまた、・・・面白そう。
いちぎょうさんも、
数学的なのが、ぽろぽろ、、、出ておいでになりますよね。
それを、、覚えておられる、、、
kir さんも、、、すごいなーー。
投稿情報: ジョー3 | 2008年12 月17日 (水曜日) 午後 05時28分
皆さんすごいですねー
ところで
-xに対応していないものもありそう?
まあいいか
携帯からなのでよくわからんが
投稿情報: minmax | 2008年12 月17日 (水曜日) 午後 06時48分
>-xに対応していないものもありそう?
あー私だ、、
またやってしまいました(>_<)
F3
=SUBSTITUTE(SUBSTITUTE(MID(A2,FIND("x",A2),9^9)&")/","=",")+"),"x","=(-(0")&LEFT(A2,FIND("x",A2)-1)&MID(1,FIND("x",SUBSTITUTE(A2,"-",)),1)
として、F2セルでAlt+↓
で直ったかな?
投稿情報: む印 | 2008年12 月17日 (水曜日) 午後 07時41分
みなさん、どうもご心配をかけました。
現在、下痢もとまり流動食を食べられるようになりました。
今晩ぐっすり寝て明日は出勤する予定です。
投稿情報: くまぷー | 2008年12 月17日 (水曜日) 午後 09時19分
>現在、下痢もとまり流動食を食べられるようになりました。
まだ、流動食状態ですかーー
もう一日休まれた方がよろしいかとw
投稿情報: y sakuda | 2008年12 月18日 (木曜日) 午前 12時01分
む印さんの完全ずるの真似で
自信はないけど
71文字で
="=-1/"&substitute(substitute(a2,"x",left(1,a2>"-x")&"*("),"=","-")&")"
くまぷーさんおだいじに。
携帯から
投稿情報: minmax | 2008年12 月18日 (木曜日) 午前 05時03分
おおー、minmaxさんブラボーですd
こんなに短く出来るなんて・・・
特に
>LEFT(1,A2>"-x")
これはすばらしい、アイデア
感激しました!
投稿情報: む印 | 2008年12 月18日 (木曜日) 午前 09時32分
>そういえばこの手法、2007腕自慢Q2(文字金額合計)受賞作の中にありましたね!
これも間違い、、
2006腕自慢Q2でしたm(__)m
投稿情報: む印 | 2008年12 月18日 (木曜日) 午後 07時26分
>感激しました!
たまたまひらめいただけです。
これを使ってずるじゃなくkirさん方式を使わないで130台誰か出せそうな気がするんだけどなぁ
今は出先だからわたしはやれないけど
携帯から
投稿情報: minmax | 2008年12 月18日 (木曜日) 午後 08時41分
>これを使ってずるじゃなくkirさん方式を使わないで130台誰か出せそうな気がするんだけどなぁ
私なりに挑戦してみましたが、到底kirさんには及ばず・・・
かなり怪しい138文字
=SUM({-1,1}*MID(SUBSTITUTE(SUBSTITUTE(A2,"x=","x0="),"=",REPT(" ",9)),FIND("x",A2)+{1,9},{9,9}))/(LEFT(A2,FIND("x",A2)-1)&LEFT(1,A2>"-x"))
投稿情報: む印 | 2008年12 月19日 (金曜日) 午後 07時22分
>もう一日休まれた方がよろしいかとw
>くまぷーさんおだいじに。
どうもありがとうございます。
お陰様でかなり回復致しました。
あともう一歩と言うところまで
戻ってきました。
ところで数式の方は、いつの間にか
かなり複雑怪奇なものに・・・(^^ゞ
お腹だけでなく、頭痛が・・・
投稿情報: くまぷー | 2008年12 月19日 (金曜日) 午後 09時52分
>かなり怪しい138文字
式はよ~く見てませんがかなり怪しい式ですね。
何をどうやっているのかよくわかりません。
例えば、
-x-0.5=500.5
の場合など・・・
いろいろなことに疲れて検証する気力が私には足りない
投稿情報: minmax | 2008年12 月19日 (金曜日) 午後 10時24分
あ、主に今日は仕事に疲れただけ。
ちょっと頑張ってみるです。
投稿情報: | 2008年12 月19日 (金曜日) 午後 10時43分
>-x-0.5=500.5
ウーン、こうなると{9,99}で一文字増えるww
投稿情報: む印 | 2008年12 月19日 (金曜日) 午後 11時08分
おはようございます。
私には130台は無理でした。
せいぜい140台でした。
投稿情報: minmax | 2008年12 月20日 (土曜日) 午前 05時01分
sakudaさん、む印さん、kirさん、かずさん、
minmaxさん、悪児さん式の投稿ありがとうございます。m(__)m
下の8式で検証させて頂きました。
2x+3=5
x-5=2
-x=6
2x=-2
0.1x-0.01=0.2
x-0.5=500.5
x=6
4x-1=1
自分の式はメチャクチャ解答だったのですが
さすが常連さんは安定?していますね。
sakudaさん、かずさん・・・
きっちりと右辺の数字を切り出し、左辺の定数項を切り出し、xの係数を切り出しと言う手法・・・
おいらと同じです。親しみが・・・
kirさん・・・
subsutituteはくまぷーも考えたのですが
imaginaryだのimrealなどはまったく考えもしませんでした。
勉強になりました。
悪児さん・・・
今回のような問題では三四郎はある意味反則?ですよね(^^ゞ
文字列左側の数字の切り出し、findで検索文字列が見つからなくてもエラーにならない・・・
くまぷーの三四郎版悪児さんと比べると
かなり長く122文字でした(^^ゞ
=(Right(A10,Len(A10)-Find("=",A10))-Mid(A10,Find("x",A10)+1,Find("=",A10)-Find("x",A10)-1))/If(A10*1,A10,Substitute(A10,"x","1x")*1)
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午前 07時49分
む印さん、minmaxさんは期待通り
いつも何か技を繰り出してきますね?!
>F2セルでAlt+↓
こんなことができるなんて知りませんでした。
>="=-1/"&substitute(substitute(a2,"x",left(1,a2>"-x")&"*("),"=","-")&")"
ほんとによくこんなこと考えるな~!!
脱帽です!!フツウの人じゃない!!
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午前 07時54分
結構面白かったです。
また何かやってください^^
投稿情報: y sakuda | 2008年12 月20日 (土曜日) 午前 08時48分
>結構面白かったです。
ありがとうございます。
>また何かやってください^^
了解です。(`◇´)ゞアイアイサー!
少々、お待ちを・・・
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午前 10時41分
新しい問題が始まっているところ恐縮ですが、130台できたので
=(MID(A2,FIND("=",A2)+1,9)-TEXT(MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1),"標準;-標準;;!0"))/(LEFT(A2,FIND("x",A2)-1)&LEFT(1,A2>"-x"))
投稿情報: minmax | 2008年12 月20日 (土曜日) 午後 07時44分
おおおおおおおおお!!!
検証させて頂きました。
139文字!!
式の中に「,"標準;-標準;」なんてのは
はじめてみました!!
ぶっとびです!!
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午後 08時03分
くまぷーさん、そんな大げさな。
実はTEXT関数苦手なので質問掲示板で質問し回答を頂いたものを応用させて頂きました。
出先&携帯から
投稿情報: minmax | 2008年12 月20日 (土曜日) 午後 08時17分
>TEXT関数苦手なので ×2
使ったことはありません。(^^ゞ
>質問掲示板で質問し
minmaxさんが質問を?
どこの板だろう?ちょっと気になる・・・
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午後 08時23分
念のため言っておきますがむ印さんkirさんにはかないません。
投稿情報: minmax | 2008年12 月20日 (土曜日) 午後 08時24分
QAサロンです
投稿情報: minmax | 2008年12 月20日 (土曜日) 午後 08時26分
>QAサロンです
見てきました。ここで使うための質問と
知ったらしおたんさんやとーさんさんは
きっとびっくりするでしょうね!(o^^o)
投稿情報: くまぷー | 2008年12 月20日 (土曜日) 午後 08時34分
>!0
TEXT関数で空白文字を「0」にするのはこうすればよかったんですかー
普通に"標準;-標準;;0"だとエラーたっだので諦めてたんですが
勉強になりましたd^^
因みに
=(MID(A2,FIND("=",A2)+1,9)-TEXT(MID(A2,FIND("x",A2)+1,FIND("=",A2)-FIND("x",A2)-1),"標準;-標準;;!0"))/(LEFT(A2,FIND("x",A2)-1)&LEFT(1,A2>"-x"))
だと134でした。 すごい
投稿情報: む印 | 2008年12 月20日 (土曜日) 午後 10時22分
あれ?間違った
134はこちら
=(MID(A2,FIND("=",A2)+1,9)-TEXT(MID(LEFT(A1,FIND("=",A1)-1),FIND("x",A1)+1,9),"標準;-標準;;!0"))/(LEFT(A2,FIND("x",A2)-1)&LEFT(1,A2>"-x"))
投稿情報: む印 | 2008年12 月20日 (土曜日) 午後 10時24分
minmaxさん・む印さんの見てたら、こんなの出来ました。
129:=(MID(A2,FIND("=",A2)+1,9^9)-IMREAL(MID(LEFT(A2,FIND("=",A2)-1),FIND("x",A2)+1,9^9)&"+i"))/IMAGINARY(LEFT(A2,FIND("x",A2)-1)&"i")
131:=(MID(A2,FIND("=",A2)+1,9^9)-TEXT(MID(LEFT(A2,FIND("=",A2)-1),FIND("x",A2)+1,9^9),"標準;@!0"))/TEXT(LEFT(A2,FIND("x",A2)-1),"標準;@!1")
投稿情報: kir | 2008年12 月21日 (日曜日) 午前 11時15分
これまた、、TEXT関数の表示形式で
@を使うことでこんなに短縮出来るんですかー
ホントに色々勉強になり、得した気分です!(^^)!
しかし、kirさんは何でもよくご存知ですねー
そもそも表示形式で「!」についての説明とか
ヘルプでも無かったように思うのですが、どうして皆さん知ってるんだろう?
投稿情報: む印 | 2008年12 月22日 (月曜日) 午後 09時41分
kirさんのTEXT技を拝借してやってみました
126=SUM(TEXT(MID(SUBSTITUTE(A2,"=",REPT(" ",99)),FIND("x",A2)+{1,99},99),"標準;@!0")*{-1,1})/TEXT(LEFT(A2,FIND("x",A2)-1),"標準;@!1")
うれしいなー!(^^)!
投稿情報: む印 | 2008年12 月22日 (月曜日) 午後 10時53分
む印さん、やりますね~。なるほど~!
「!」はヘルプにありませんでしたっけ?
掲示板で聞いたのかなあ?
投稿情報: kir | 2008年12 月23日 (火曜日) 午後 02時49分