- ベストアンサー
エクセルでの数式の表示方法は
A B C 合 計 1 5*4 4*5 3*2 SUM(A1:C1) A1-20 B1-20 C1-6と表示されますが、 5*4 4*5 3*2と文字列でなく数式のまま表示し 印刷したいのですが。文字列で表示すれば合計がゼロになります。宜しく
- oyaji-yasuo
- お礼率11% (1/9)
- オフィス系ソフト
- 回答数4
- ありがとう数2
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
次の操作で、ご希望通り動作すると思いますので宜しかったらテストしてみてください。 1.Alt + F11 で VBE(Visual Basic Editor)を開きます。 2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。 3.モジュールウィンドウに下記コード(12行)をコピーして貼り付けます。 4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を 「中」にして[OK]します。 これでユーザ定義関数 StrSum が使用出来ます。 この関数の使い方は、StrSum(セル範囲) です。 例えば、A1に4*5、B1に5*4、C1に3*2 が入力してあるとき、=StrSum(A1:C1) で 46 が 表示されます。 また、A1を 5*8 に変更すると 66 に変わります。 指定した範囲内に「計算式」と「数値」以外がある場合とか、0で除算した式など 演算不能の式が含まれるときは、#VALUE! になります。 これで如何でしょうか。 Function StrSum(R As Range) Dim Rng As Range Dim Ret As Double For Each Rng In R If IsNumeric(Rng) Then Ret = Ret + Rng.Value Else Ret = Ret + Evaluate(Rng.Value) End If Next Rng StrSum = Ret End Function
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 A1:B1が、必ず、「A*B」という書式になっているという前提で、 =SUMPRODUCT(LEFT(A1:C1,FIND("*",A1:C1)-1)*MID(A1:C1,FIND("*",A1:C1)+1,LEN(A1:C1))) で合計が表示されます。
- imogasi
- ベストアンサー率27% (4737/17068)
(1)ツール-マクロ-VBE (2)VBEの画面が出ますが、挿入-標準モジュールを行って出る白の画面に Function siki(a As Range) siki = a.Formula End Function をコピペします。シート画面に戻って A2セルに=siki(A1)といれ、B2,C2にA2の右下+ハンドルを引っ張って複写します。 A2:D2には =5*4 =4*5 =3*2 =SUM(A1:C1) が入ります。1つづつとか、データのないどのセルでも使えます。 (1)値と共にセルに式を出したい時、(2)下や右に式をいれるセルの余地があるときには便利です。この私製関数はどのシートでも使えます。
補足
早速有難う御座いました。 関数sikiが関数ボックスに作成されてますが、 その保存方法を御願いします。 他のブックを開くと、関数ボックスに入って無いのですが???
- kikero
- ベストアンサー率33% (174/517)
ツール→オプション→表示タブ内の「数式」にチェックすると、数式が表示されます。
お礼
有難う御座いました。 申し訳御座いませんが質問の内容が違っていました。 A B C 合 計 4*5 5*4 3*2 26 この様に表示しAを5*8に変更した場合合計が66に なる様にしたいのですが。。
関連するQ&A
- エクセルで数式が文字列になってしまう
こんにちは。教えて下さい。 あるセルに対して、例えば「=sum(a1:c1)」のような式を入力すると、結果が表示されずに「=sum(a1:c1)」がそのまま表示されます。 セルの属性に関係あるのかと思って、他の数式の入っているセルをそのままコピー(このときは数式になっている)、数式を書き換えたのですが、書き換えたとたん文字列になってしまいます。セルの書式で「標準」を指定しても変わりません。 どうすればいいのでしょう。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- セルに数式が入ってるかどうかを取得する関数は?
C1には、=SUM(A1:B1) C2には、0 が入力されています。 実際、A1:B1の値は0なので、 C1もC2も0が表示されています。 D列で、ちゃんとC列にsum関数が入ってるか調べてたいのですが =COUNTIF(C1,"*sum*") をオートフィルしても、0が返ります。 C3に「sum」と言う文字列を入れて、=COUNTIF(C3,"*sum*")をしたら 1が返りました。 COUNTIF関数は文字列は認識しますが数式は認識しないようです。 このような場合、セルに数式が入ってるかを取得する方法はありますか?
- ベストアンサー
- Excel(エクセル)
- EXCEL 数式について
A列 B列 の合計が C列に出るような表を つくっていました。 C列には =A1+B1 という程度の数式を入れていました。 ここまでは普通の話なのですが。。。 毎回、A B列の数字を入れたら C列の数式を コピーして下段に貼付けしていました。 今日も同じようにA B列に数字を入れたところ・・・ 勝手にC列に式が入りました。 特に、シートに保護をかけて数式を表示しない ようにしているわけでもなく、不思議です。 何が原因かおわかりになる方教えてください。 これが使えればそれはそれで便利なので・・・
- 締切済み
- オフィス系ソフト
- 配列数式を用いたエクセルマクロの使い方
セルA1に「=SUM((A1:A12=5)*(B1:B12=""A"")*C1:C12)」という風に数式を表示形式を文字列として入れておき、他のセルに、この計算結果を入れるたいのですが、マクロでどのようにすればいいか、ご存知のかたがいらっしゃいましたら教えてください。 ちなみに、使用したい数式(セルA1に入れているもの)は配列数式です。
- 締切済み
- その他(業務ソフトウェア)
- エクセルの数式がエラーになる
いつもお世話になります。 エクセルの簡単な縦の足し算の合計の数式(A列2)と同じ数式をB列.C列・・に入力しました。どういう風にやっても、B列は、#VALEと表示されます。 どうしたら、直りますか?
- ベストアンサー
- オフィス系ソフト
- EXCEL、数式で1月ずつ表示させたい
よろしくお願いします。 EXCELでA1に「2014/10/1」と入力されていて、表示形式で「10月」と表示しています。 (1)B列に「11月」、C列に「12月」、D列に「1月」…というふうに一月ずつ増やして表示させる数式がうまくいきません。 B列に入れた式をC列~F列へマウスで数式コピーして使えるようにできるとありがたいです。 ※仮にA1に「2015/1/1」と入力するとB列に「2月」、C列に「3月」…数式で表示。 最終的な表示は画像のようになっているようにしたいです。 A1の列を変えると数式によって自動的に月名が表示したいです。 (2)上記と同じ数式ですが、3行目・4行目のように結合していながら同じことはできますか? よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセル 数式を表示させるには?
win2000 エクセル2000を使用しています。 下記のようにセルAとBに数字が入ってるセルがあり、 Cに合計結果、Dに数式の内容を表示させたいのです。 =A1+B1という表示ならツール→オプションでできるみたいなのですが、数式の内容を表示させるやりかたがわかりません。 どなたかご教授をお願いします;; A B C D 1 数字 数字 合計 式 2 30 15 45 30+15=45 3
- ベストアンサー
- オフィス系ソフト
- 再度、Excelの数式について、今朝
再度、Excelの数式について、今朝 今朝、KURUMITO様から、下記1)~3)の条件での数式を親切に教えて頂きました。 教えて頂いた数式 =SUMPRODUCT(A4:A55,B4:B55)/H2 その後、条件が1)2)は同じですが、4)が増えたため3)が5)に変更になりました。 自分なりに次のように作ったのですが、エラーになります。=SUMPRODUCT(C4:C55="S")*(A4:A55,B4:B55)/H2 正しい数式を教えてください。バージョンは Excel2003 です、 宜しくお願いいたします。 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています)、 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 4)C列もA列B列同様、C4からC55まで、B又はSの”文字のデータ”が入ってるセルと、入ってないセルがあります。(データの入ってる行は、C列(文字データ)で入っていれば、A列(数字データ)、B列(数字データ)の同じ行に入っています) 5)C列の”文字データ”がSならばA列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。
- ベストアンサー
- その他MS Office製品
- 合計欄に0を表示したくない
A列(A1:A10)に単価 B列(B1:B10)に数量 C列(C1:C10)にA*B C11に合計出すとします C列に数式一切書かないと 合計C11は =IF(COUNTIF(C1:C10,"<>"),SUM(C1:C10),"") これで0がでませんが C列に数式↓入れると =IF(OR(A1="",B1=""),"",A1*B1) C11には0が でてしまいます そこで↓でしのぐと0は消えますが =IF(COUNTIF(C1:C10,">=0"),SUM(C1:C10),"") この場合整数の場合のみ有効で C列にマイナスが出た場合,合計が空白になってしまい困るので これまた =IF(COUNTIF(C1:C10,">=-10000"),SUM(C1:C10),"") これでも↑ よいのですが 仮に">=-10000"がもっと小さかったら ">=-1000000"など,きりがありません。。。 そこで,もっと見た目の良い関数ありませんでしょうか? (C1:C10)に整数あるいはマイナスがでたら ちゃんと合計出してくれる関数、教えてください 空欄の時は0でなく空欄のままがよいです。 お願いいたします
- ベストアンサー
- オフィス系ソフト
- エクセルの数式のコピー
エクセルで 他の方が作成した表で、オートサムで合計を出し、そのまま数式をコピーすると、数式自体はきちんとコピーされているのですが=SUM(A3:C3)のコピー=SUM(A4:C4)実際にコピーしたA4に数字を入れても反映されてきません。数式はSUM(A4:C4)とコピーされています。よろしくお願いいたします。
- ベストアンサー
- Windows XP
補足
早速有難う御座いました。 関数StrSumが関数ボックスに作成されていますが その保存方法を御願い致します。 他のブックを開くと関数ボックスに入って無いのですが???