- ベストアンサー
エクセルで加重平均を求めたい
エクセル2000です。 $D$4:$D$8の数列にR$4:R$8の数列を乗じ、その合計を$D$4:$D$8の数列の和で除して加重平均を求めたいのですが、一応、以下の関数で出来ました。 =ROUND(SUMPRODUCT($D$4:$D$8,R$4:R$8)/SUM($D$4:$D$8),3) 問題は、D列には数値しか入ることがないのでいいのですが、R列の値は、各セルとも数式で求められているものです。数式で求められた値はほとんど数値なのですが、中には「※」とかの文字が出てしまうことがあります。 この場合、加重平均の答えがエラーになってくれればいいのですが、上記式だと「※」等の文字列はゼロと扱われてしまうようです。そうすると答えがおかしくなってしまいます。何かいい方法はありませんでしょうか?
- shishishishi
- お礼率86% (208/240)
- オフィス系ソフト
- 回答数4
- ありがとう数5
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 >そしてR行に数値以外が表示されたらエラーにしたいのです。 こういうことでしょうか。 =IF(COUNT(R$4:R$8)=SUMPRODUCT((LEN(R$4:R$8)>0)*1),数式,"")
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
No.2です。 >ただ、今回やりたいのはR列に数値以外がきたら、 >計算しないようにしたいのです。 つまり、R列に1つでも数値以外のデータがあれば、計算自体をしないということでしょうか? それなら、質問欄の数式を、 =IF(COUNT(R$4:R$8)=ROWS(R$4:R$8),数式,"") のようにすればいいと思います。
補足
なんどもありがとうございます。わたしの説明が悪くて申し訳けありません。 =IF(COUNT(R$4:R$8)=ROWS(R$4:R$8),数式,"") ではR列の5つのセル全てに数値が入らないとエラーになりますが、したいことはそうではないのです。 D列とR列が対になっており、D列に入力がない限りおなじ行のR列は "" です。ですから2行の場合も3行の場合もあります。そしてR行に数値以外が表示されたらエラーにしたいのです。 D4 に 2000 R4に 0.5 D5 に 1000 R5に 0.8 D6 に 1500 R6に ※等 この場合エラー COUNTで数値の数を求め、COUNTAで空白以外のセル数を求め、一致しなければエラーにしようとも思いましたが、COUNTAでは数式が入っているセルは空白以外になってしまいだめでした。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 No.1の方の2つ目の数式は、 =ROUND(SUMPRODUCT($D$4:$D$8,R$4:R$8)/SUMPRODUCT($D$4:$D$8,ISNUMBER(R$4:R$8)*1),3) としないとエラーになります。
補足
早速ありがとうございます。 ご教示の式はR列が数値でないものは分母から除いてるわけですね。 これはこれでとても助かりました。ありがとうございます。 ただ、今回やりたいのはR列に数値以外がきたら、計算しないようにしたいのです。 どう変えればいいのでしょうか?
- mshr1962
- ベストアンサー率39% (7418/18948)
R列が文字の行を計算しない場合 文字が特定のものなら =ROUND(SUMPRODUCT($D$4:$D$8,R$4:R$8)/SUMIF(R$4:R$8,"<>※",$D$4:$D$8),3) 文字が不特定の場合は =ROUND(SUMPRODUCT($D$4:$D$8,R$4:R$8)/SUMPRODUCT($D$4:$D$8,ISNUMBER(R$4:R$8)),3)
補足
早速ありがとうございます。 ご教示の式はR列が数値でないものは分母から除いてるわけですね。 これはこれでとても助かりました。ありがとうございます。 ただ、今回やりたいのはR列に数値以外がきたら、計算しないようにしたいのです。 どう変えればいいのでしょうか?
関連するQ&A
- エクセルの関数式を教えてください(加重平均について)
加重平均値(4.5)は予め決めていますので、 配列の一部を求める関数式を教えてください。 (質問の内容) 以下のu~zの値を求めたいです。 A B 1 0 u 2 6 v 3 1 w 4 7 x 5 4 y 6 4 z 4.5 (通常の加重平均の求め方) A B 1 0 0.1 2 6 0.3 3 1 0.1 4 7 0.2 5 4 0.2 6 4 0.1 =SUMPRODUCT(A1:A6,B1:B6)=4.5 以上で4.5が返されます。 よろしくお願いします。
- ベストアンサー
- Windows XP
- エクセルで数式の入ったセルの平均値を出したい
こんにちは 教えていただきたいのですが、エクセルの数式が入ったセルの平均値を出したいのです。 例えば、 D5-F5列:ifやsum文で組み立てた数式の結果 G5列:上記セルの平均値 Ctrl+Shiftを押しながらD-Fを選ぶとできると聞いたこともあったのですが、やはり結果は、#DIV/O!になってしまいます。 D-Fには、空白もあり、その結果を出す数値は流動的になります。 すみませんが、教えてください。よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- 平均の出し方
Excel初心者です。 下記のような平均を出す関数を教えてください。 日毎に3列使い、日々の処理数を集計しています。 A列、B列、D列、E列は数値又は空欄。 日計:C列はsum(A:B) 日計:F列はsum(D:E) 月合計計:Q列はsum(C,F・・・) Z列に処理平均を出したい。 C列とF列の値がゼロの時は平均の対象外にする。 average(C4,F4)とすると、数式が入っているせいか、結果が1.5になってしまいます。 ここにゼロや数式が入っているセルを除いた平均を出し、Z4に3と出るようにしたいです。 範囲が10個以上あるので、範囲指定もうまくできません。 A B C D E F ・・・ Q Z 1 9/1 9/2 9月 2 午前 午後 終日 午前 午後 終日 月合計 処理平均 3 4 1 5 1 3 4 9 4.5 4 2 1 3 3 3 5 1 5 6 6 6 6 6 1 7 5 5 12 6 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 《エクセル》 平均値の求め方
いつもお世話になります。 列Aに分類、列Bに数値がある場合に、「列Aの重複する分類の平均値を求める。ただし、列Bの値がゼロや空白だった場合、それを計算から除外する」という配列数式を組みたいのですが、うまくいきません。 お手数ですが、宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excelで、複数列の和を求める式
Excelで、A1~A10,B1~B10,C1~C10,D1~D10にそれぞれ値があり、E列に、E1にA1からD1までの和、E2にA2からD2までの和、のようにE10まで出したいと思います。E1=SUM(A1:D1)として、下にコピーすればできますが、「E1からE10までの配列数式」として求める式はありますか。SUMの":"と、配列数式の":"が重複してうまくできません。
- ベストアンサー
- オフィス系ソフト
- =SUM(ROUND(A1,0),ROUND(A3,0),ROUND(A10,0))をもっと簡単に
エクセル200です。 A1、A3、A10の各セルにある数値を四捨五入してから合計するのに =SUM(ROUND(A1,0),ROUND(A3,0),ROUND(A10,0)) でできるのはもちろん存じておりますが、もっと簡単に書く方法はないでしょうか? A2、A4からA9までのセルが空白であれば =SUMPRODUCT(ROUND(A1:A10,0)*1) A2、A4からA9までのセルが文字列であれば {=SUM(IF(ISNUMBER(A1:A10),ROUND(A1:A10,0),""))}(配列数式) でできるのですが、数値であるために使えません。 上記のA1、A3、A10はあくまで一例で、実際は同一列ではありますがもっとセル数が多いのです。そのため簡単に書ける方法を探しています。 よい方法があればご教示くださいませ。
- ベストアンサー
- その他MS Office製品
- エクセルで、入力のないセルを無視した計算
おせわになります。 A B C 1 3 5 2 4 3 3 2 1 SUM 9 0 9 → 平均 6 上のような、シートがあり、合計、平均が、に数式が設定されており、A,B,C列に数値を入力すると自動で計算されますが、B列に数値を入れない場合があり、このとき、合計に0を返すため、平均値が間違った値になります。これを回避する方法を教えてください。 基本的には、合計の数式をなんとかする事になると思うのですが。。。
- ベストアンサー
- オフィス系ソフト
- Excelで可変範囲内での平均値を出したい
特定の範囲内で0以上の数値が入っている箇所までの平均値をだしたいのですが 関数でできますでしょうか。 【例】 A B C D E F --------------------------- 10 0 2 0 0 0 この場合、A列~C列までの平均値(4)を出したいです。 また、各数値は関数(SUM(A1:A2)等)で出力されており、可変になります。 エクセル初心者ですみませんが、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルの簡単な表計算の方法
単に合計の数式が知りたいだけなのですが、 例)A2:A6の数値とD2:D6の数値を足す場合 数式はどうなりますか? =SUM(A2:A6)+(D2:D6)とか=SUM(A2:A6+D2:D6)では正しい答えが出ませんでした。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
ほんとに何度もありがとうございました! ええ、まさにこれです!そうかこうやればいいんですね。 ありがとうございました。