平均値をだして、その結果を四捨五入したいのですが、
AVEREGEの関数の前にROUNDをいれると、AVEREGEの関数が消えてしまうのです。
結局、AVEREGEの関数を使わずに足し算させてその結果をROUNDさせています。
一度に複数の関数を設定することはできないのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

teeさんが言っている式で設定することができます。



式が消えるということですが、
たぶん、AVEREGEの関数を先に設定してから、
ROUND関数を設定したのではないでしょうか?

その場合、AVEREGEの関数はクリアされます。

複数、関数を設定する場合は
先頭の関数から入力する必要があります。

逆順にする場合は、前にする関数は
手入力になりますね。。。

とりあえず、参考までに。。。。^^;
    • good
    • 0
この回答へのお礼

みなさん、どうもありがとうございました。
おっしゃるとおり、
先にAVEREGEの関数を入れてからROUND関数を設定したのです。

解決しました。ありがとうございました。

お礼日時:2001/08/16 11:05

消えるという意味がよく解りませんが、



=ROUND(AVERAGE(セル範囲),桁数)
この数式で計算されます。
    • good
    • 0

つぎのような感じでできますけど


=ROUND(AVERAGE(A1:C1),0)
(A1:C1)の平均をとり、小数点0桁で丸める。

sintaさんはどのように書かれていますか?
補足して下さい。
    • good
    • 0

こんにちは.



=ROUND(AVERAGE(範囲1:範囲2), 0)

こんな感じでセルに直接入れれば良いのではないでしょうか?
A1からA30までの平均値を出したい場合は,範囲1にA1を入れて,範囲2にA30を入れればうまくいくと思います.
    • good
    • 0

>一度に複数の関数を設定することはできないのでしょうか?



もちろんできますが・・。

関数のを使って、先頭に、関数を入れると、どうしても、sintaさんがやったようになってしまうので、
最初は、外側から、つまり、ROUNDから関数貼り付けを使います。そして、ROUNDの中で、AVERAGEを使います。しかし、うまくできないようであれば、手入力が一番です。
=round(average(a1:a10),2)
とか・・。
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

QROUND関数について

EXCEL97を使用しています。
ROUND関数で桁数を1にした場合、
例えば結果が3.1なら“3.1”と表示されるのですが、
3.0だと“3”としか表示されません。
これは仕様でどうしようもないのでしょうか?
もしも解決方法をご存知でしたら御教授下さい。

なお、セル内で複数の数値と文字列をつなげており、
セル書式では対応できません。
また、IFとMODを併用して1で割り切れる数値には
“.0”を文字列として付加する方法は考えたのですが、
式が長くなるので個人的に気に入りません。

Aベストアンサー

TEXT関数を使ってみてください.


=(TEXT(D9,"##0.0"))

Qエクセルのセルに関数を入れても関数式そのものが表示され、結果が表示されません。

初心者です。よろしくお願いします。
また、関数とマクロの実例を多く学習したいのでアドバイスお願いします。自動受発注応対システムを作りたいのでよろしくお願いします。

Aベストアンサー

セルで右クリックして[セルの書式設定]
[表示形式]タブで、表示形式が[文字列]とかになってないですか?なっていたら[標準]とかに変えてみてください。

QROUND関数で循環参照に・・・

A1にある数値150.236を150にしたいのです。しかも参照先をA1のままで。
やはり計算式はA1以外を指定しないとだめでしょうか。
既に入力されている数値を整数に変えたい場合、ROUND関数以外で何かいい方法はございますでしょうか?
どうぞ宜しくお願い致します。

Aベストアンサー

1.「ツール」メニューから「マクロ」を選択して表示される画面で「オプション」を選択。

2.Ctrl+ の空欄に好きな文字を入れ、OKを押す。
  (※ これが実行キーになります)

3.「編集」を選択して、下記を貼り付ける。

Sub Macro1()
Range("A1") = Int(Range("A1"))
End Sub

適当に閉じて、Ctrl+XX で実行

QDATEIF関数の算出結果の合計平均を出す方法の件

品名No.毎の平均期間の算出を希望致します。

収穫日(D列)と購入日(C列)から期間を算出し(算出結果:E列)、
算出結果(E列)を活かし、品名No.毎の期間平均の算出を希望しております。

結果が下記のようになります。
000101⇒平均期間(0年01ヶ月)
000103⇒平均期間(0年01ヶ月)
000104⇒平均期間(2年10ヶ月)

E列に入っている関数は下記になります。
=(DATEDIF(D4,C4+1,"Y")+(DATEDIF(D4,C4+1,"YM")=11))&"年"&MOD(DATEDIF(D4,C4+1,"YM")+   (DATEDIF(D4,C4+1,"MD")>0),12)&"ヶ月"

 A列   B列   C列      D列      E列  
品名NO商品名購入日  収穫日    期間
000101みかん2005/10/302005/10/010年1ヶ月
000101みかん2005/12/202005/12/010年1ヶ月
000101みかん2005/12/192005/12/010年1ヶ月
000101みかん2006/01/112006/01/010年1ヶ月
000101みかん2006/01/112006/01/010年1ヶ月
000101みかん2006/11/022006/11/010年1ヶ月
000101みかん2006/11/022006/11/010年1ヶ月
000101みかん2006/11/062006/11/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2007/10/252007/10/010年1ヶ月
000103ばなな2008/08/222008/07/010年2ヶ月
000103ばなな2010/11/182010/11/010年1ヶ月
000103ばなな2010/12/222010/12/010年1ヶ月
000103ばなな2004/12/272004/12/010年1ヶ月
000103ばなな2005/01/122005/01/010年1ヶ月
000103ばなな2010/12/012010/11/010年2ヶ月
000104りんご2003/10/082001/07/012年4ヶ月
000104りんご2004/06/011998/04/016年3ヶ月
000104りんご2005/09/012000/04/015年6ヶ月
000104りんご2005/12/142005/12/010年1ヶ月
000104りんご2005/12/192005/12/010年1ヶ月


フィルタをかけて抽出していけば良いのですが、数が大量すぎて手作業では
膨大な時間がかかってしまいます。

本当に分からなくご質問した次第です。
よろしくお願い致します。

品名No.毎の平均期間の算出を希望致します。

収穫日(D列)と購入日(C列)から期間を算出し(算出結果:E列)、
算出結果(E列)を活かし、品名No.毎の期間平均の算出を希望しております。

結果が下記のようになります。
000101⇒平均期間(0年01ヶ月)
000103⇒平均期間(0年01ヶ月)
000104⇒平均期間(2年10ヶ月)

E列に入っている関数は下記になります。
=(DATEDIF(D4,C4+1,"Y")+(DATEDIF(D4,C4+1,"YM")=11))&"年"&MOD(DATEDIF(D4,C4+1,"YM")+   (DATEDIF(D4,C4+1,"MD")>0),12)&"ヶ月"

 A列   B列   C...続きを読む

Aベストアンサー

商品番号がK2セルに入っているなら、以下の式を入力すれば(E列の数式の算出方法に準じた計算)K2セルの平均が算出できます。
この場合、E列は不要で直接平均年月が表示できます。

=INT(SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"Y")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")=11))*12+MOD(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"MD")>0),12)))/12/COUNTIF($A$4:$A$1000,K2))&"年"&INT(MOD((SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"Y")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")=11))*12+MOD(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"MD")>0),12)))/12/COUNTIF($A$4:$A$1000,K2)),1)*12)&"ヵ月"

商品番号がK2セルに入っているなら、以下の式を入力すれば(E列の数式の算出方法に準じた計算)K2セルの平均が算出できます。
この場合、E列は不要で直接平均年月が表示できます。

=INT(SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"Y")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")=11))*12+MOD(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"YM")+(DATEDIF($D$4:$D$1000,$C$4:$C$1000+1,"MD")>0),12)))/12/COUNTIF($A$4:$A$1000,K2))&"年"&INT(MOD((SUMPRODUCT(($A$4:$A$1000=K2)*((DATEDIF...続きを読む

Qexcelのround関数での質問です

excel2000、WindowsXP proで以下のマクロを書いています
******ここから******
Sub DATA2()
Dim i As Long
Dim a As Long

Sheets("DATA").Select
i = Sheets("DATA").Cells(65535, 1).End(xlUp).Row

'数量×単価の結果を四捨五入して小数点以下を切り捨てる

For a = 2 To i
Cells(a, 8).Value = Round(Cells(a, 6) * Cells(a, 7), 0)
Next
End Sub
******ここまで******

この時正しく四捨五入されない場合があります
例えば
Cells(a, 6)の値が20070
Cells(a, 7)の値が61.95
の場合は答えが124337ではなく、1243336になってしまいます

しかし、
Cells(a, 6)の値が11985
Cells(a, 7)の値が99.9
の場合は答えが1197302と正しくでます

どこがまちがっているのか、どうしてもわかりません
申し訳ありませんが、どうか教えてください

excel2000、WindowsXP proで以下のマクロを書いています
******ここから******
Sub DATA2()
Dim i As Long
Dim a As Long

Sheets("DATA").Select
i = Sheets("DATA").Cells(65535, 1).End(xlUp).Row

'数量×単価の結果を四捨五入して小数点以下を切り捨てる

For a = 2 To i
Cells(a, 8).Value = Round(Cells(a, 6) * Cells(a, 7), 0)
Next
End Sub
******ここまで******

この時正しく四捨五入されない場合があります
例えば
Cells(a, 6)の値が20070
Cells(a, 7)の値が61.95
の場合は答え...続きを読む

Aベストアンサー

>どこがまちがっているのか、どうしてもわかりません

間違っているというより、Round関数の理解がちょこっと不足しているだけです。

質問の結果は間違いではなく、VBAのRound関数では正しい結果です。

VBAのRound関数とエクセルなどのワークシート関数のRound関数では
計算方法の違いにより結果に違いが出る場合があるのです。

で、普通の結果(質問者が正しいと思っている結果)を求めたい場合は、
エクセルのワークシート関数のRound関数を使わなければいけません。

= WorksheetFunction.Round(Cells(a, 6) * Cells(a, 7), 0)

これだと質問者の求めたい結果がでます。
 

●ワークシート関数RoundとVBAのRoundの違いは
 下記マクロソフトのサイトに詳しく載ってますので一読をお勧めします。

http://support.microsoft.com/kb/225330/ja


以上。


このカテゴリの人気Q&Aランキング

おすすめ情報