質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Q&A

解決済

1回答

13439閲覧

AVERAGEIFS関数で抽出がうまくできない

退会済みユーザー

退会済みユーザー

総合スコア0

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

0グッド

1クリップ

投稿2017/12/08 03:30

###前提・実現したいこと
発注したステッカーの価格検討に際し、
検索条件1「ステッカーを使うエリア別(銀座・原宿・その他の3地域)」に分けた上で
検索条件2「ステッカーサイズ別(XS-XLの5種)」に分けて
検索条件3「ステッカー加工のあり・なし」の場合で、
ステッカー単価平均をエクセルで算出して比較分析したいです。

###発生している問題
算出されたステッカー単価の表と、
元となる台帳(データベース)にフィルタをかけてみたものとが一致していないことに気づきました。
関数計算式が間違っているようです。
例えば、算出された表には、”加工あり・XSのステッカー単価”は「#VALUE!」と表示されていますが、データベースをフィルタかけると1件加工ありのものが出てきます。

###試したこと
台帳は下記のような一覧です。
|B|C|D|E|F|G|H|I|J|K|L|M|N|
|:--|:--:|--:||:--|:--:|--:||:--|:--:|--:|
|エリア| | |ステッカー枚数| |ステッカー単価|合計金額| |㎡数/枚あたり|㎡単価(G列÷J列)|J列*E列|サイズ種類(XS-XL)|加工(あり・なし)|
|銀座 |||1||125,000|125,000|18|¥6,996|18||L|加工なし|

台帳の上の行に入れたステッカー単価算出表は、次のような表示です。
|B|C|D|E|F|G|H|
|:--|:--:|--:||:--|:--:|--:|
|サイズ別㎡単価平均(加工含)|XS|S|M|L|XL|
|原宿|#DIV/0!|¥12,979|#DIV/0!|#DIV/0!|#DIV/0!|
|銀座|#DIV/0!|¥12,015|#DIV/0!|#DIV/0!|#DIV/0!|
|その他| #VALUE!|#VALUE!|#VALUE!|#VALUE!|#VALUE!|

例えば、算出表「その他・XS」にいれた関数式は下記です。
=AVERAGEIFS($K$15:$K781,$B$15:$B781, "<>原宿AND銀座",$M$15:$M781,"XS",$N$15:$N780, "加工あり")
「#VALUE!」と表には算出されたので、該当するものがない(加工ありのものがない)と思ったのですが、
確認のため台帳のN列のフィルタをかけると、1件該当するものがあります。

###補足情報(言語/FW/ツール等のバージョンなど)
Excel2016を使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

AVERAGEIFS 関数 - Office サポート
すべての検索条件を満たすセルがない場合は、エラー値 #DIV0! が返されます。

関数のヘルプを見てもらえばわかりますが、#VALUE!は「該当するものがない(加工ありのものがない)」を表すエラーではありません。

Excelでエラー表示を見てもらうと数式で使用されるデータの形式が正しくありません。となっており、関数の引数が間違っていることになります。

質問にある関数式を見ると、ほとんどの条件範囲は781行目まで見ていますが、最後の条件範囲が$N$15:$N780、780行目までとなっています。
AVERAGEIFSはすべての条件範囲の大きさが一致する必要があるため、これがエラーの原因となります。

AVERAGEIF 関数の範囲引数および検索条件引数とは異なり、AVERAGEIFS では、各検索条件範囲に含まれるセルの個数と形状は、合計対象範囲と必ず一致している必要があります。

蛇足

恐らくこうなった原因として関数式の参照が、絶対参照・相対参照入り交じっているせいがあるかと思います。

可能であれば台帳をテーブルに変換することで構造化参照が使えるようになるため、より堅牢に参照範囲を設定することが出来るようになります。

投稿2017/12/08 09:20

imihito

総合スコア2166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/11 02:07

早速のご回答ありがとうございます! 理解が遅く、お礼が遅くなり大変恐縮です。 エラー表示の意味、そして表とテーブルの違いを知ることができました! とてもクリアに理解できました。 わかりやすいご解説誠にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問