人に聞けない痔の悩み、これでスッキリ >>

はじめまして。
状況を説明します。
シートは1枚1ヶ月分で、A2:A31には日付が、B1:G1には名前が、
対応セルにはそれぞれの1日のスコアが入ります。
すでに数式が入力されていて、明日以降のセルは0になっています。
そのため平均を出そうとすると一緒にカウントされてしまいます。
明日以降の0はそのままで、何とか今日までの平均を
B32:G32に出したいのです。
そもそも初心者なので何が何やら・・・・
解るように!解るようにお願いします!

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

A 回答 (4件)

No.3修正です。


誤 B32には、B2からB31までの平均を、月内の経過日で割る計算式
正 B32には、B2からB31までの合計を、月内の経過日で割る計算式
    • good
    • 1
この回答へのお礼

なるほど!何となく解ります。
明日の分を引けば何とかなるかも知れません。
出来るのかは知りませんが見えてきました!
ありがとうございます!

お礼日時:2009/04/05 09:13

 月内で、当日までの、平均を出したいなら、月の合計値を、当日までの


日数で割ったらどうですか。
(未来日のスコアが絶対に「0」であるならば)

 B32には、B2からB31までの平均を、月内の経過日で割る計算式
 =SUM(B2:B31)/DAY(TODAY())
    • good
    • 0
この回答へのお礼

=SUM(I4:I33)-INDEX(I4:I33,DAY(TODAY()+1))
=I34/DAY(TODAY())
みたいな感じでできました。
ありがとうございます。

お礼日時:2009/04/05 13:34

セルにはどの様な数式が書かれているのでしょうか?


データ未入力の計算式のセルに表示される「0」を消す方法が有りますので試してみて下さい。

IF(条件式,処理1,処理2)

元・・・「=SUM(C3:D3)」の場合「0」が表示されます
修正・・「=IF(COUNT(C3:D3)=0,"",SUM(C3:D3))」

C3からD3にデータが一つも無い場合は空欄を表示
C3からD3にデータが一つでもあればSUMの計算結果を返す。
「0」も含め元データに入力があった場合のみ数値が表示されます。
    • good
    • 0
この回答へのお礼

なるほど。勉強になります。
しかし、明日のセルには別のシートの数値を
SUM関数で出すようになっており、
翌日それに当日分を追加して入力するのです。
明後日以降は0なのですが・・・・
めんどくさくてごめんなさい。

お礼日時:2009/04/05 08:58

こんばんは。


AVERAGE関数では「0」もカウントしますね。
スコアの式で結果が「0」の場合に「""」にするか、COUNTIF関数で「>0」のセル数をカウントして平均値を計算しましょうか。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。
何とか「今日までの」で作りたいんです。
スコア「0」なんて事もあるんです・・・・すみません。

お礼日時:2009/04/04 19:45

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

QEXCELの平均を出す関数について

初歩的な質問となりますが、
どうぞよろしくお願いいたします。
sheet1に下記のようなデータがあります。

  A    B    D
1 日付  売上  平均
2 7/1   200   
3 7/2   100   =AVERAGE(B2:B3)
4 7/3   300   =AVERAGE(B2:B4)
5 7/4   200   =AVERAGE(B2:B5)
6 7/5         ・
7 7/6         ・
・  ・          ・
・  ・          ・
・  ・          ・
32 7/31        =AVERAGE(B2:B5)

現在B6までデータが入力されています。
D列に今日までの平均を表示したいのですが、
上記のようなAVERAGE関数をD32まで先に埋めてしまった場合、
B6:B32のあす以降の計算結果も出てしまいます。

B列のセルに入力がない限り、
今日の日付以降を計算しない(空欄)ようにする方法はありますか?

よろしくお願いいたします。

Aベストアンサー

>=AVERAGE(B2:B3)
の部分を=if(B3="","",AVERAGE(B2:B3))とする。
もちろん各セルの内容のセル範囲の修正も必要です。ですが=if(B3="","",AVERAGE($B$2:B3))として設定しておけば、D3セルを選択しコピーして一気にD32までコピーしてください。

蛇足でが、D32のセルは=AVERAGE(B2:B32)ですよね。

Qエクセルの関数(日数の平均の出し方)

初心者です。
統計を取っていましたが、エクセルを使った平均日数の出し方がわかりません。
データは
0日1件、1日17件、2日4件、3日8件、4日2件、5日1件、6日2件、7日5件、8日3件、9日1件、10日1件、13日1件、14日1件、16日1件、21日1件、25日1件
です。
何を使ったらいいか、教えてください。
よろしくお願いします。

Aベストアンサー

No.1です。こんにちは。

補足からですと、データの構造は

名前   入院日  手術日  日数
Aさん  8/1  8/1  0日
Bさん  8/2  8/3  1日
Cさん  8/3  8/5  2日
Dさん  8/4  8/7  3日

となっているんでしょうか?(勝手に想像しました。)

もし私の想像どおりであれば、

=AVERAGE(日数列)

とすれば、平均日数が算出できます。

「日数列」のところは、「(」を入力した後、日数をドラッグ(マウスの左ボタンを押したまま移動)させると入力できます。(私の例の場合0日から3日)
日数の範囲をドラッグにより指定した後「)」を入力してください。

Q月ごとに自動で平均を出したい

vistaでエクセル2007を使用しています
たとえば縦軸に
9月
1日 33 44 55
2日 63 24 75
3日 43 64 35


とあります
最終行に月平均を出しているのですが
毎月30日の時はシートの平均を
AVERAGE(D4:D33)で出して
31日の時はD33を34にしたり
また翌月は33に変更したりしているのですが
これを自動で30日の時、あるいは10月なら30日とか
計算してくれるようにすることは
可能でしょうか?
入力データから
毎月複数のシートを変更しなくてはならず
面倒といったら面倒なんです。
30日用のデータと31日用のデータに分けて作って
月によって変更しようかとも
思ったのですが毎月些細な変更があり
そうもできないのです

出来ないのでしたらしょうがないのですが
なんとかうまくできる方法があれば
お教え願えますでしょうか

Aベストアンサー

回答No4です。
A4セルへの入力の式は次のようにしてください。
=IF(MONTH(DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))<>MONTH($A$1),"",DATE(YEAR($A$1),MONTH($A$1),ROW(A1)))
<>の前に)が一つ足りませんでした。大変失礼いたしまいた。
式の意味はA1セルのデータを使って年や月は決めていますが日にちは1日から始まるのでROW(A1)としてA4セルでは1となります。それが下の行に移るにつれて、例えばROW(A32)となった場合には自動的に月の値が次の月に変わって日にちも変わることになります。その月がA1セルの月と変わらない間は日付を表示していきますが、A1セルの日付の月とROW関数を入れた日付の月が違う(<>)場合にはセルを空白にしなさいということになります。
A1セルに2009/10/1と入力すれば10月31日までは10月で表示されますが11月になれば空白のセルにすることになります。

Q入力したところまでを自動的に平均を出す

エクセルでの関数を教えてください。
セルa1からa10に順に数値を記入します。
入力がa3やa7までの途中であっても=残りが未入力であっても
a11に平均を自動的に(一つ入力が増えるたびに)出したいです。

a11にどのような式を入れたらいいのでしょうか?
よろしくお願いいたします。

Aベストアンサー

=SUM(a1:a10)/COUNTA(a1:a10)

Qエクセルで一定期間毎の平均値の算出式について

A列に日付、B列にあるラインで製造された部材の重量が入力されているとします。
この時、ある一定期間に製造された部材の重量の平均値を返すには、どのような数式を使えばよいでしょうか?
またこの一定期間というのが、少し厄介で、月毎ではなく、月の途中から途中(例えば、2/10~3/9、3/10~4/9というような感じ)の場合になりますが、このような時、どのような数式になるか、お教え頂きたく、よろしくお願いします。

Aベストアンサー

こんばんは!
一例です。

↓の画像でF2セルに
=IF(COUNTBLANK(D2:E2),"",AVERAGE(IF($A$1:$A$1000>=D2,IF($A$1:$A$1000<=E2,$B$1:$B$1000))))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
F2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

これをオートフィルで下へコピーすると
画像のような感じになります。

※ ↓の画像は当方使用のExcel2003での一例です。
配列数式の場合は極端にデータ量が多い場合はオススメできないのですが、1000行程度であれば問題ないと思います。

※ 当然No.1さんの回答にあるようにExcel2007以降であればAVERAGEIFS関数が利用できますし、
データ量が多い場合はNo.1さんの後半の数式をオススメします。

失礼しました。m(_ _)m

こんばんは!
一例です。

↓の画像でF2セルに
=IF(COUNTBLANK(D2:E2),"",AVERAGE(IF($A$1:$A$1000>=D2,IF($A$1:$A$1000<=E2,$B$1:$B$1000))))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は
F2セルに貼り付け後、数式バー内で一度クリック!
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

これをオートフィルで下へコピーすると
画像のような感じになります。

※ ↓の...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcelで指定月の日数を表示できる機能(関数?)ってありますか?

タイトルのとおりなんですが、例えばどこかのセルに2003/1/1と入力します。
そして、別の表の中で日割り計算をしたいので、2003年1月なら「31」という数字を別のセルに持ってきたいんです。
こんなことってできますか?

Aベストアンサー

関数を使えば出来ると思います。
月の日数=(翌月の初日)-1と考え、

A1に2003/1/1が入っているとします。
日数を表示したいセルに、

=DAY(DATE(YEAR(A1),MONTH(A1)+1,1)-1)

で、できると思います。

Qエクセルの関数について教えてください!

質問1)エクセルで予想売上を算出する方法を教えてください
添付させて頂きました画像のように、月の売上の予想を計算したいのですが、どうしたら良いでしょうか?

今までは電卓で『その日までの売上÷その日までの日数×その月の日数』で算出していたのですが、これをエクセル2007で算出するにはどういった関数で求めれば良いでしょうか?

質問2)毎日の売り上げを入力していて、その日までの平均売上を算出したい場合、
例えば画像の場合だと『7月3日までの売上÷3』になると思いますが、このような式だと毎日割る数を変えなくてはなりません。
そこで自動?で売上を入力した日数を出して『その日までの売上÷売上を入力した日数』というような式にはできないでしょうか?

質問3)とあるセルの書式が『#.##"%"』となっているのですが、0.15%や0.25%といった場合の『0』が表示されません。
つまり0.15%の場合は『.15%』、0.25%の場合は『.25%』と表示されてしまいます。
これを『0』まで表示させるにはどのような書式にすれば良いでしょうか?

きちんと伝わっているか不安ですが、どうぞ宜しくお願い致します。

質問1)エクセルで予想売上を算出する方法を教えてください
添付させて頂きました画像のように、月の売上の予想を計算したいのですが、どうしたら良いでしょうか?

今までは電卓で『その日までの売上÷その日までの日数×その月の日数』で算出していたのですが、これをエクセル2007で算出するにはどういった関数で求めれば良いでしょうか?

質問2)毎日の売り上げを入力していて、その日までの平均売上を算出したい場合、
例えば画像の場合だと『7月3日までの売上÷3』になると思いますが、このような式だと毎日割...続きを読む

Aベストアンサー

毎日の数字は「手入力」していて、計算式で計算しているのでは無いことにします。


B9:
=AVERAGE(B2:B7)

「日数で割り算」するんじゃなく、「平均を求める関数」を使います。


B10:
=B9*DAY(EOMONTH($A2,0))

今日までの平均値×今月の日数で計算します


>#.##"%"

0.##"%"

できれば
0.0#"%"
などのようにします




#参考
>その日までの売上÷その日までの日数×その月の日数

「その日までの日数」で計算するのか、「その日までに売り上げのあった営業日日数」で計算するのか、ご相談によってまちまちです。今回は何を計算したいのか、適切に考える必要があります。


#参考
毎日の数字を数式で計算させている場合は、数字が無い日の数字は""が計算されるよう、しっかり工夫して作成しておきます。

QSUMIF関数で、条件に日付範囲で指定するには?

SUMIF関数で、条件に日付をいれたいのですが、
10日毎の範囲で集計を取るにはどうすればいいでしょうか。

A列に日付、B列に数値で
=SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B) 
こんな感じで日付の部分が問題のところです。

date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが…
1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

Aベストアンサー

こんにちは。

2013/9/10までを求めて、2013/9/1以前を引けば答えが出ます。
=SUMIF(A:A,">=2013/9/10",B:B)-SUMIF(A:A,"<2013/9/1",B:B)

どうでしょうか。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング