この人頭いいなと思ったエピソード

男の絶対値の平均を求めたいのですが、エラーになってしまいます。
一発で求める方法がありましたら教えてください。

=AVERAGEIF(A2:A10,"男",ABS(B2:B10))

「エクセルのマクロ、AVERAGEIFを使」の質問画像

A 回答 (3件)

こんにちは!



=SUMPRODUCT((A2:A10="男")*(ABS(B2:B10)))/COUNTIF(A2:A10,"男")
または
=AVERAGE(IF(A2:A10="男",ABS(B2:B10)))

※ 後者は配列数式なので、Ctrl+Shift+Enterで確定してください。

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ズバリ解決してくださいました!ありがとうございます!!

お礼日時:2017/05/06 19:10

AVERAGEIF(A2:A10


アベレージと指示しながら、範囲に数値を含む列が指定されていません、これではABS関数削除してもエラーになります。
ABS関数は範囲を指定して一括処理はできません、別の列にABS関数で各行ごとに表示、この作業をマクロでボタン一つで一括操作はできますが、たぶん無駄な操作になります。
例 c列にABS関数で絶対値表示、その関数を相対コピーで下の欄に順次こコピー。
その上でAVERAGEIF(A2:C10、”男”、C2:C10)・・・これはマクロではなく関数です。
    • good
    • 0
この回答へのお礼

あ、失礼しました。関数ですね。

お礼日時:2017/05/06 19:10

一発では無理だと思います。


C列に絶対値を表示させて、C列で平均をとるのが良いかと。
    • good
    • 0
この回答へのお礼

なんとか一発で求めたかったのですが、解決できました。ご回答ありがとうございました。

お礼日時:2017/05/06 19:11

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

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


おすすめ情報