[[20200306103700]] 『セルをまたいで平均を出したい』(もく) ページの最後に飛ぶ

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

 

『セルをまたいで平均を出したい』(もく)

応用が利かず何度も質問して申し訳ないです。

セルをまたいで平均を出す場合、=AVERAG(F3,F17,F31)で計算しましたが、例えばF17が0の時、0を含めない計算式だと=AVERAGIF(F3,F17,F31,"=<>0")となるようですが、#NAME?となってしまいます。
どこが間違っているのか教えて頂きたいです。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


>=AVERAG(F3,F17,F31)で計算しましたが、
AVERAGE 関数の間違い?
https://support.office.com/ja-jp/article/average-%E9%96%A2%E6%95%B0-047bac88-d466-426c-a32b-8f33eb960cf6

>=AVERAGIF(F3,F17,F31,"=<>0")となるようですが
AVERAGEIF 関数の間違い?
https://support.office.com/ja-jp/article/averageif-%E9%96%A2%E6%95%B0-faec8e2e-0dec-4308-af69-f5576d8ac642

いずれにせよ、
>#NAME?となってしまいます。
そんな名前の関数は知らないよ!ってExcel君が答えてる状態なので、関数名を再チェックされたほうがよろしいとおもいます。

(もこな2 ) 2020/03/06(金) 10:59


もこな2様
ご返信ありがとうございます。

「E」が抜けていました。

エクセルでは
=AVERAGE(F3,F17,F31)
=AVERAGEIF(F3,F17,F31,"=<>0")
となっていました。

(もく) 2020/03/06(金) 11:11


  F
1 0
2 0
3 20
4 0
5 0
・ 
・
17 30

というような表ならば、=AVERAGEIF(F2:F8,">0",F2:F8)でいいのでは
(はなな) 2020/03/06(金) 11:30


はなな様
ご返信ありがとうございます。

例えば、F3、F5、F7のように行をまたいでの平均値をだしたいと思っていて、カンマで区切った式にしてみました。

行をまたいでだと、">0"などは使えないのでしょうか?
(もく) 2020/03/06(金) 11:38


すみません、前回の例題だと =AVERAGEIF(F2:F17,">0",F2:F17) ですね。

行をまたいで選択しなければならないというのは、だとえばとびとびのセル以外には
どのようなデータが入っているのでしょうか。0以外が入っているのですか?
(はなな) 2020/03/06(金) 11:59


 >行をまたいでだと、">0"などは使えないのでしょうか?

 AVERAGEIF 関数は飛び飛びのセルを指定できないのでは?

 その「F3、F17、F31」が手入力なのか数式の結果なのか知りませんが
 手入力なら「0」を入力しない、数式なら「""」にすれば
 =AVERAGE(F3,F17,F31) でできますよね。

 ■「0」を入力する必要がある場合

 1)本当に3つのセルだけなら
 =SUM(F3,F17,F31)/((F3<>0)+(F17<>0)+(F31<>0))

 2)G3、G17、G31にでも「1」を入力しておき
 =AVERAGEIFS(F3:F31,F3:F31,"<>0",G3:G31,1)  ← AVERAGEIFS (AVERAGEIF ではなく)

 3)AVERAGE の配列数式
 =AVERAGE(IF((F3:F31<>0)*(MOD(ROW(F3:F31),14)=3),F3:F31))

 ※ 3 は Ctrl+Shift+Enter で確定

 以上、参考まで
(笑) 2020/03/06(金) 12:19

 F4:F16、F18:F30 には何が入力されているのかもお答えください。

 以上
(笑) 2020/03/06(金) 12:28

はなな様
(笑)様
ご返信ありがとうございます。

言葉足らず、説明不足で申し訳ないです。

表とすると

1月作業時間
作業名  作業時間
 A     60
 B     30 
 C     40

2月作業時間
作業名  作業時間
 A     60
 B     30 
 C     40

このような感じで1か月ごとの表に対し、A・B・Cそれぞれの作業時間の平均を計算したいと思っています。
月によってBの作業がなかったりして0になるので、0以外の平均をだしたかったです。

直近三か月の平均を出したいので、=SUM(F3,F17,F31)/((F3<>0)+(F17<>0)+(F31<>0))こちらで平均値出すことができました。

個人別に上記の表を作成してあるので、個人によっては、Aの作業はしないので0になります。
その場合、=SUM(F3,F17,F31)/((F3<>0)+(F17<>0)+(F31<>0))式だと、#DIV/0!となってしまいます。

#DIV/0!を非表示にしたいのですがどうしたらよいでしょう?

無知で申し訳ないのですが、よろしくお願いします。

(もく) 2020/03/06(金) 13:31


自分なりにやってみました。

=IF(ISERROR(SUM(G3,G17,G31)/((G3<>0)+(G17<>0)+(G31<>0))),"",(SUM(G3,G17,G31)/((G3<>0)+(G17<>0)+(G31<>0))))

これで一先ず、0以外での平均・#DIV/0!が消せました。

皆様、お力添え、ありがとうござしました。
(もく) 2020/03/06(金) 13:39


 なんでいきなりG列に変わったのか知りませんけど
 F列だとして ↓ でいいのでは?

 =IFERROR(SUM(F3,F17,F31)/((F3<>0)+(F17<>0)+(F31<>0)),"")

 作業別の平均で、E列にでも作業名が入力されているのなら AVERAGEIFS でもできます。

 参考まで
(笑) 2020/03/06(金) 14:03

笑様

ご返信ありがとうございます。

G列、F列混在で申し訳ないです。

半分も短縮できるのですね。

簡単な作表程度の知識しかないので、本当にありがたいです。

(もく) 2020/03/06(金) 14:14


コメント返信:

[ 一覧(最新更新順) ]


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