『【至急!!】累乗計算』(みい)  助けて下さい!  下記Ⓐの式をexcelで入力するにはどうしたら良いでしょうか?  Ⓐ0.04×(1+0.04)^30/(1+0.04)^30-1 =0.0578・・・答え セルに「0.0578」と答えが入るようにⒶを入力したいです。  自分なりに調べたら「power関数」を使うようですが・・  これ以上分かりません。 excelかなり初心者です・・アホな質問をしているとは思いますが  宜しくお願いします。   ---- 括弧が抜けているのかな =0.04*(1+0.04)^30/((1+0.04)^30-1) ---- 衝突したけど名前も書かない人は無視して。 そもそも答えを「0.0578」とするのには 0.04×(1+0.04)^30/((1+0.04)^30-1) にしないとだめでは?  また、べき乗は関数だとたしかにPOWER関数ですが演算子では「^」でOKです。 あとは乗算(×)には「*」を使って下さい。 ---- 出来ました! こんなに早くお返事頂けるとは・・感動です! 今回はPOWER関数ではなかったのですね。 助かりました!本当にありがとうございました!! 名前も書かない人は無視して。 ---- 解決済みですが、こんな関数もありまっせぇ。 0.04×(1+0.04)^30/((1+0.04)^30-1) とか上付き文字のべき乗とか、√で書かれた式も計算されます。 =txtcalc(A1)等と入力します。     (弥太郎) '-------------- Function txtcalc(adrs As Range) As Double Dim data As String, d_1 As String, Cnt As Integer Dim i As Integer, flag As Boolean, mch, d_2 As String data = Replace(Replace(Replace(Replace(Replace(Replace(StrConv(adrs, vbNarrow), "÷", "/"), _ "×", "*"), "{", "("), "}", ")"), "[", "("), "]", ")") If data = "" Then txtcalc = 0: Exit Function With CreateObject("vbscript.regexp") .Global = True If adrs Like "*" & adrs.Font.Superscript & "*" Then Do While i < Len(adrs) i = i + 1 If adrs.Characters(i, 1).Font.Superscript Then d_1 = d_1 & "^" If adrs.Characters(i + 1, 1).Font.Superscript Then flag = True End If If flag Then d_1 = d_1 & Mid$(data, i, 2) i = i + 1 flag = False Else d_1 = d_1 & Mid$(data, i, 1) End If Loop data = d_1 d_1 = "" End If data = Replace(data, "√", "Sqr") .Pattern = "\d+\(" If .test(data) Then data = Replace(data, "(", "*(") .Pattern = "\)\d" If .test(data) Then data = Replace(data, ")", ")*") .Pattern = "\)\(" If .test(data) Then data = Replace(data, ")(", ")*(") .Pattern = "(\+|\-|\/)(\*)" If .test(data) Then data = .Replace(data, "$1") .Pattern = "(\*)(\+|\-|\/|\))" If .test(data) Then data = .Replace(data, "$2") If data Like "*Sqr*" Then .Pattern = "(\d+|\))Sqr" If .test(data) Then For Each mch In .Execute(data) data = Replace(data, mch, Split(mch, "S")(0) & "*" & "Sqr") Next End If .Pattern = "Sqr\d+" If .test(data) Then For Each mch In .Execute(data) data = Replace(data, mch, Sqr(Split(mch, "r")(1))) Next End If .Pattern = "Sqr\(" If .test(data) Then d_2 = data For Each mch In .Execute(data) Cnt = 1 For i = mch.firstindex + 5 To Len(d_2) If Mid(d_2, i, 1) = "(" Then Cnt = Cnt + 1 ElseIf Mid(d_2, i, 1) = ")" Then Cnt = Cnt - 1 If Cnt = 0 Then Exit For End If d_1 = d_1 & Mid(d_2, i, 1) Next i data = Replace(data, "Sqr(" & d_1 & ")", Sqr(Evaluate(d_1))) d_1 = "" Next End If End If .Pattern = "\D" If .test(data) Then For Each mch In .Execute(data) .Pattern = "(\*|\/|\+|-|\)|\(|\.|\^|%)" If Not .test(mch) Then data = Replace(data, mch, "") End If Next mch .Pattern = "^\*|\*$" If .test(data) Then data = .Replace(data, "") txtcalc = Evaluate(data) Else txtcalc = data End If End With End Function