[[20110926230611]] 『X=15x10の2乗をするには?』(ひろみん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『X=15x10の2乗をするには?』(ひろみん)

WindowsXPでExcel2002を使っています。

3個のセルに「15」「10」「2」と入力して、

別のセルで3個の数字を読み取って

「X=15x10の2乗」とするには、どうやればいいでしょうか。

しかも、2は上付き文字で表示したいのですが・・・

どなたか、知ってる方教えてください。


 答えを求めるなら、

    |[A]|[B]|[C]|[D]      
 [1]| 15| 10|  2|=A1*B1^C1   で、

 C1を「書式設定」のフォントで文字飾りを
上付きにするとかではどうでしょうか?

 「X=15x10の2乗」と表示させたいだけの問題なら、

    |[A]|[B]|[C]|[D]                 
 [1]| 15| 10|  2|="X="&A1&"×"&B1&"^"&C1 で、

 どうでしょうか?
D1セルの2乗を上付き文字は私もわかりません^^;
(ちぃちゃん)

 2乗の上付文字は、答や式を文字列化したうえで、2の部分だけを「セルの書式設定」→「配置」→「上付文字」で表示できます。ただし、数が多いと面倒だし、文字列化して 
 しまうので、最終の結果の表示ならばこれでいいのですが、計算途中で表示させて
 また、それを計算に使うとなると、こんどは数値化しなければならず面倒が倍加です  
 マクロでエレガントにできないものでしょうか。

 (ム所十)


 エレガントかどうかわかりませんが

  Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Me.Range("A1:C1")) Is Nothing Then
    With Target.EntireRow.Cells(4)
      If Application.CountA(.Offset(, -3).Resize(, 3)) = 3 Then
        .Value = "X=" & .Offset(, -3).Value & "×" & .Offset(, -2).Value & .Offset(, -1).Value
        .Characters(Len(.Value) - Len(.Offset(, -1).Value) + 1, Len(.Offset(, -1).Value)).Font.Superscript = True
      Else
        .ClearContents
      End If
    End With
  End If
  End Sub

 こんなのでも?
 (momo)

 訂正
「セルの書式設定」→「配置」→「上付文字」ではなく
 「セルの書式設定」→「フォント」→「上付き」です

 お詫びして、訂正いたします。

 15*10=150ですよね?
 それの2乗だと150*150ですよね?・・自信ないけど。
 ちいちゃんさんの求め方だと10の2乗*15で答えが1500になりませんか?
 (15*10)^2だと思います^^

 それにしても二乗の計算方法って【^】でできるなんて知らなかった;
 (ちょこ)


 >ちょこさん
 エクセルのヘルプで「演算子 優先順位」などで検索してみてください。
 数学でも同様ですが、べき乗の演算子は乗除よりも優先度が高いので
 先にべき乗を計算した後に乗算になります。

 また、キャレット(^)を使わずに関数で示すと
 =15*POWER(10,2)
 となるので、これも当然先に関数が先に計算されますから同じ事ですね。
 (momo)

 momo様、そういえば学生の頃演算子の優先順位習ったことあります。
 足し算引き算より掛け算割り算が優先されるやつですよね?

 少し勘違いしてたみたいでひろみん様のやりたいことは
 150の二乗だと思っていました;
 ですので先に乗算してしまうと求める答えが違うんじゃないかと先ほどの回答をしました。
 初心者の早とちりの回答ででしゃばってしまい、ちいちゃん様申し訳ありませんでした。
 そしてmomo様、わざわざ丁寧にお教えいただいてありがとうございました^^

 (ちょこ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.