こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【MS Excel】数式(関数)の中身は表示できないでしょうか?

お世話になっております。
MS Excel にて、数式(関数)の中身は表示、印刷できないでしょうか?
ここで言う表示とは、単に数式・関数を表示し、印刷出来る、という事ではなく、
“(参照している)代入された値にて表示する”
というものです。

例えば、以下のような場合、

A1 1
A2 2
A3 3
A4 4
A5 =A1+A2+A3+A4

このように入力がある場合、A5セルには通常『10』と表示されます。

ここで、ツール→オプション→ウィンドウ オプションの"数式"にチェックを入れると、
(「Ctrl + Shift + @」と同様)
A5セルには『=A1+A2+A3+A4』と表示されます。
(ここまでは調べることができました…)

わたくしが希望しているのは、ここでA5セルに、
『=1+2+3+4』
と、参照している値自体を表示し、そのまま印刷できる事です。

無茶を申しておりましたら、申し訳ございません。
WinXP にて MS Excel2002 (SP-2)を使用しております。
素人質問で申し訳ございません。
ご協力、よろしくお願いいたします。

投稿日時 - 2009-11-11 19:58:36

QNo.5440197

すぐに回答ほしいです

質問者が選んだベストアンサー

>複雑な式にも対応するように、記載して頂いた
>Subプロシージャについて考えてみます。
頑張ってみてください。
四則演算のみなら提示したコードの応用でいけると思います。
躓いたら捕捉してください。

投稿日時 - 2009-11-12 11:39:49

お礼

皆様にお教え頂きまして、以下の様に解決致しました。

="=("&A1&"×"&A2&"-("&A3&"-"&B1&")×"&C1&")/("&D1&"×"&D2&")"

個人的には xls88様 にお教え頂いたように、
今後はVBAにて挑戦したいと存じます。

皆様本当にありがとうございました。

投稿日時 - 2009-11-13 11:25:57

ANo.6

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(6)

》 無茶を申しておりましたら…

その通り、と言いたいところですが、表示、印刷だけのためなら次のようにしたら如何かと。
   A     B      C
1     1     5      9
2     2     6      10
3     3     7      11
4     4     8      12
5 =1+2+3+4 =5+6+7+8 =9+10+11+12

A5: ="="&A1&"+"&A2&"+"&A3&"+"&A4

投稿日時 - 2009-11-12 01:11:10

お礼

ありがとうございます。なるほど!
imogasi様のご回答(回答番号:No.2)の補足にて記載させて頂いたように、
四則演算の組み合わせで、同じ式を複数シートにて使いたい状況ですので、
mike_g様のご回答での式
="="&A1&"+"&A2&"+"&A3&"+"&A4
を応用すれば、できそうな気がします。

結果はご報告させて頂きます。ありがとうございました。

投稿日時 - 2009-11-12 11:11:35

ANo.4

それは数式ではありません。
数式は、=A1+A2+A3+A4 の形のものです。
お望みのモノは数式ではなく計算過程ですから表示させる機能は無いと思います。
VBAなどのプログラムを組んで文字として表示させるしかないと思います。

投稿日時 - 2009-11-11 22:48:24

お礼

ありがとうございます。
なるほど、計算過程ですね。
他のご回答などをヒントに、VBAを調べてみます。
ご回答ありがとうございました。

投稿日時 - 2009-11-12 11:02:17

ANo.3

こんな感じでしょうか?
違っていたらスルーして下さい。

投稿日時 - 2009-11-11 21:49:11

お礼

ありがとうございます。
そうですね、少し違います。
他のご回答者様がおっしゃっているように、
参照先の数値を表示したい次第でございます。
ご回答ありがとうございました。

投稿日時 - 2009-11-12 10:59:23

ANo.2

そういう質問はこのコーナーでみたことがない。
ニーズを説明してみては。
多分、別に方法を考えないと無理でしょう。+でならべる場合以外の
ストレートな関数VLOOKUP(A1,$a$1:$a$10,2,FALSE)の場合どう表現すでればよいのかな。
単純なもの(四則演算の組み合わせのみ)なら、NumberFormatの式を頼りにVBAででもプログラムを組めば出来そうだが。
--
文字列で良いなら
初めからそのように仕組んで、また項目数が少数なら
=A1&"+"&A2&"+"&A3&"="&SUM(A1:A3)

投稿日時 - 2009-11-11 21:28:30

補足

ありがとうございます。
ニーズとしては、エクセルを使用したレポートなどで計算を示すとき

式(公式)
=数値を代入した計算過程
=計算結果(解)

このような状況にて、通常は「数値を代入した計算過程」の所には
手書きか、数式エディタを使うか、文字列として入力するか、
といった方法しか取れないと存じます。


今回のわたくしの場合、現状では、

(A × B - (C - D) × E) / (F × G) →文字列

と記載し、その真下のセルに

=((A1*A2)-((A3-B1)*C1))/(D1*D2) →数式

この状態では、
公式
=計算結果(解)(数値)

となっておりますので、計算過程を示したい次第でございます。
例えば、
=((100*1.5)-((300-100)*0.2))/(5*15)
のように。
(※上記の文字、数、セル番号は一例)


文字列として一つずつ打ち込まない理由は、
多数シートがあり、同じ式を扱うので、
関数もしくはマクロなどにて手順を簡略化したい為です。

投稿日時 - 2009-11-12 10:53:48

お礼

ありがとうございます。
おっしゃる通り、"四則演算の組み合わせ"なので、
imogasi様のご回答の内容について、調べさせて頂きます。
ありがとうございました。

投稿日時 - 2009-11-12 10:55:26

ANo.1

VBAになります。
数式を値式に置換しても良いのですか?
演算子が + にのみ対応しています。

Sub test1()
Dim siki As String
Dim sikip As Variant
Dim sikiv As String
Dim i As Integer

siki = ActiveCell.Formula
sikip = Split(siki, "+")
For i = LBound(sikip) To UBound(sikip)
sikiv = sikiv & "+" & Range(sikip(i)).Value
Next i
ActiveCell.Value = "'=" & Replace(sikiv, "+", "", 1, 1)
End Sub

投稿日時 - 2009-11-11 21:11:54

お礼

ありがとうございます。
なるほど、おっしゃる通り「+」のみの対応のようですね。
複雑な式にも対応するように、記載して頂いた
Subプロシージャについて考えてみます。
ありがとうございました。

投稿日時 - 2009-11-12 10:16:16

あなたにオススメの質問