
お世話になっております。
SUMPRODUCT関数の最小値の求め方で壁を越えられないため
皆様のお知恵をお貸しください。
下のような表があります。
A B C(セル列)
1 青 ○ 100
2 赤 ○ 95
3 青 × 75
4 青 ○ 200
5 赤 × 65
6 赤 × 80
7 青 ○ 105
8 青 × 85
9 赤 ○ 110
10 赤 × 70
青かつ○の最大値(200)は
=SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(C1:C10)))
にて求められるのですが
青かつ○の最小値(100)は
=SUMPRODUCT(MIN((A1:A10="青")*(B1:B10="○")*(C1:C10)))
とすると、0が返ってしまいます。
googleで検索しては検証しを繰り返しましたが
どうにもうまくいきません。
Shift+Ctrl+Enterによる
{=MIN(IF((A1:A10="青")*(B1:B10="○"),C1:C10))}
では求められますが、出来れば配列でない方法を探しています。
宜しくお願い致します。
No.6ベストアンサー
- 回答日時:
そのまんま
=IF(SUMPRODUCT((A1:A10="青")*(B1:B10="○")*(C1:C10<>"")*(MAX(C1:C10)))=0,"該当なし",
MAX(C1:C10)-SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(C1:C10<>"")*(MAX(C1:C10)-C1:C10))))
ご教示ありがとうございました。
思い通りの結果が出る数式を手に入れることができ
誠にありがとうございました。
SUMPRODUCT関数を用いての求め方でしたので
ベストアンサーとさせていただきました。
また、最初の質問の段階で条件がまとまりきれておらず
何度も手間をかけさせてしまい申し訳ございません。
以後、気をつけたいと思います。
ありがとうございました。
No.5
- 回答日時:
No.1です
>Shift+Ctrl+Enterによる
>{=MIN(IF((A1:A10="青")*(B1:B10="○"),C1:C10))}
>では求められますが
と補足では矛盾します。補足の空白は、単純に未入力なセルってことで
未入力なセルも対象外なら条件を追加すればよい
=MAX(C1:C10)-SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(C1:C10<>"")*(MAX(C1:C10)-C1:C10)))
この回答への補足
ご回答ありがとうございます。
また条件の矛盾点、申し訳ございませんでした。
最後に御教え頂きたいのですが
1,4,7行(青 ○ )のデータがすべて未入力の場合
ご教示頂いた数式では、9行目の110が表示されるのですが
これを空白にすることは出来ますでしょうか?
No.4
- 回答日時:
No3の回答の補足です。
C列に空白セルも混ざっているなら(空白セルを除外対象にしたいなら)、C列が空白以外という条件を追加することになります。
=MIN(INDEX(((A1:A10<>"青")+(B1:B10<>"○")+(C1:C10=""))*10^10+C1:C10,))
上記の数式の意味は、A列が青以外、B列が○以外あるいはC列が空白のいずれかの条件が成立する場合は10^10という大きな数値を乗算した値(すべて成立しない場合はこの部分が0)と、C列の値を加算した値の中から最小値を調べています。
なお、INDEX関数で配列を範囲に変換する場合は、その配列を取得する場合にIF関数などを使用した数式は利用できません(配列の四則計算のみ使用可)。
ご回答ありがとうございました。
MackyNo1さんご教示の数式はシンプルで正確に答えが求められましたのでベストアンサーとさせて頂きたいところでしたが
今回はSUMPRODUCTでのお題ということでNo.6さんにさせて頂きました。
INDEX関数につきましても勉強していきたいと思います。
ありがとうございました。
No.2
- 回答日時:
>青かつ○の最小値(100)は =SUMPRODUCT(MIN((A1:A10="青")*(B1:B10="○")*(C1:C10))) とすると、0が返ってしまいます。
論理的にそれで正しいことになります。
SUMPRODUCT関数内でMIN関数を使っていますがその引数の配列値に 0 が7個含まれていますので、その内の1つがMIN関数で返されます。
SMALL関数で8番目、またはLARGE関数で3番目が目的の値になります。
従って、次の式が適当と思います。
=SUMPRODUCT(LARGE((A1:A10="青")*(B1:B10="○")*(C1:C10),COUNTIFS(A1:A10,"青",B1:B10,"○")))
>出来れば配列でない方法を探しています。
SUMPRODUCT関数も配列値を扱っています。
只、Ctrl+Shift+Enterで確定しなくても良いだけです。
{=MIN(IF((A1:A10="青")*(B1:B10="○"),C1:C10))}
数式を確定するときにCtrl+Shift+Enterの操作で配列値が扱えるので、この手法の方がシンプルになると思います。
ご回答ありがとうございます。
LARGE関数を使う方法もあるのですね。
なぜか私の環境では、#NAME?エラーとなってしまいます。
No.1
- 回答日時:
SUMPRODUCT関数自体、配列を扱う関数です。
符号を逆にし、MIN関数を使わなければよいかと思います。
=MAX(C1:C10)-SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(MAX(C1:C10)-C1:C10)))
この回答への補足
ご回答ありがとうございます。
重大なミスをしてしまいました。
7 青 ○ 105
ではなく、
7 青 ○ 空白
でした。
申し訳ございません。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
MAXIFはどうすればいい?
Excel(エクセル)
-
エクセル 複数の条件付で最小値を求めたい
その他(Microsoft Office)
-
【Excel】 SUMPRODUCT関数の高速化
Excel(エクセル)
-
4
Excel、sumifはありますが、minif、maxifはどうしたら?
その他(ソフトウェア)
-
5
Excelでエラー(#N/Aなど)値を含む範囲で最大値や最小値をもとめ
その他(Microsoft Office)
-
6
《Excel2000》SUMPRODUCT関数での集計、空白行がある場合は?
Excel(エクセル)
-
7
SUMPRODUCTで文字列を無視したい
Excel(エクセル)
-
8
MIN関数で空白セルを無視したいのですが
その他(Microsoft Office)
-
9
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
10
Excelで、条件と一致する最後のセルを検索したい
Excel(エクセル)
-
11
EXCELで複数のシートを同時に印刷範囲の設定する方法【EXCEL2000】
Excel(エクセル)
-
12
SUMPRODUCTにて別シートのデータを参照する方法
その他(Microsoft Office)
-
13
=SUMPRODUCTで、縦列全てを対象とする方法
Word(ワード)
-
14
Excelですが、同一データが複数あるとき、検索して、その全部を抽出する方法
Excel(エクセル)
-
15
Excelでブックの共有を掛けるとオートシェイプが操作できない。
その他(ソフトウェア)
-
16
条件付きのMEDIANとAVERAGEについて。
Access(アクセス)
-
17
SUMIF関数で、「ブランク以外を合計」を指定したい
その他(Microsoft Office)
-
18
エクセルのMAX関数を複数条件で
Excel(エクセル)
-
19
excel small関数とif関数の組み合わせ
その他(Microsoft Office)
-
20
Excelのmatch関数エラー原因が分かりません
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
Excel オートフィルタのリスト...
-
5
C#で配列のフィールドを取得したい
-
6
配列がとびとびである場合の書き方
-
7
[VBA]改行入りのセルの値を配列...
-
8
VB6.0 ファイルの一括読込み
-
9
DataSetから、DataTableを取得...
-
10
チェックボックスの値を(1,0)...
-
11
ノーツのデータをVBScriptで取...
-
12
VBA 配列に格納した値の平均の...
-
13
VBAでの100万行以上のデータの...
-
14
最小値を求める方法
-
15
【C#】二次元配列へのcsvファイ...
-
16
[エクセル]連続する指定範囲か...
-
17
.NET - 配列変数を省略可能の引...
-
18
エクセル 条件を指定した標準...
-
19
Dictionaryを使い4つの条件の一...
-
20
エクセルで、絶対値の平均を算...
おすすめ情報
公式facebook
公式twitter