アプリ版:「スタンプのみでお礼する」機能のリリースについて

数学が大の苦手な僕が、ある事情で下の課題を突きつけられてしまいました。

X=(t1-T2)-(t2-T1)/ln((t1-T2)/(t2-T1))

という式がありまして、Xが既知の数字なんですが
ここから、t2を求める式をエクセルで作らなければなりません。

高校の基礎解析と微分積分の教科書を引っ張り出して
いろいろ考えてみましたが、結局lnがネックでどうしたらt2=の式に変換できるかわかりません。

逆に言えば、lnの式さえ何とかしてしまえば作れそうなんですが・・・
ぜひヒントだけでも結構ですので、教えてください!
よろしくお願いいたします!!

A 回答 (2件)

Excelで値だけを求めるならば、ゴールシークを使うと便利です。


これを使うと、Xが既知の値になるようにt2を変化させて、該当するt2を求めてくれます。


セルA2   
X
=(B2-E2)-(C2-D2)/LN((B2-E2)/(C2-D2))


セルB2   
t1
既知の値

セルC2
t2
変化させるセル

セルD2
T1
既知の値

セルE2
T2
既知の値

とおいて、ゴールシークを実行してみてください。

ちなみにt1=1,T1=T2=0でXが100になるようにゴールシークを事項したところ、t2は1.010256858
となりました。

ただし、解が複数ある場合はソルバーを用いて制約条件を設定する必要があると思います。(この場合t2がとりうる範囲を指定してやります。)
    • good
    • 0
この回答へのお礼

御礼が遅れてすみません。
ご回答いただきまして、ありがとうございます。

早速試してみました。以前はトライアル&エラーで値を入れていましたが、これは早いですね。

でも本当は式を立てて、多くのデータを一括処理は
したいんですよ。
上司に計算方法を聞いてみたら、散々やってみたが
計算式を立てるのは無理だよ、とのこと・・・
式を立てるのはむりなのかなあ?

お礼日時:2004/11/06 12:39

>でも本当は式を立てて、多くのデータを一括処理は



ということなので、

前回の要にデータを各セルにセットし、複数のデータを下方向に配置してください。(Fに目標値をいれてください。=x)
下記マクロを実行すれば一括処理できます。

2行目から100行目までのデーターについて実行します。(ループは適当に合わせてください。)

Sub ゴールシーク()
'
' ゴールシーク Macro
'
dim i as integer
dim j as integer

for i=2 to 100

Range("A"&i).GoalSeek Goal:=Range("F" & i), ChangingCell:=Range("C"&i)

next i

End Sub
    • good
    • 0
この回答へのお礼

これがうわさに聞くマクロですね。
早速やってみます。ありがとうございました。

お礼日時:2004/11/18 22:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!