『ボヘミアン・ラプソディ』はなぜ人々を魅了したのか >>

AVERAGEIFはありますが、maxでほしいのです。どうやって作れますか?

詳細:
B列が「あ」のデータだけ抜き出し、A列のmax値を得たいのです。
A    B
1   あ
2   い
4   あ
8   え
15  い
この例ではmax値は4です。

A 回答 (4件)

>MAXIFはどうすればいい?


MAX関数の括弧内(配列)を前処理しなければなりません。
前処理の数式=(B1:B5="あ")*A1:A5
従って、=MAX(B1:B5="あ")*A1:A5 → MAX({1;0;4;0;0}) → 4
Excelでは計算結果を配列で返すことを要する数式を入力時にCtrlとShiftを押しながらEnterキーを打鍵することになっています。
確定した状態を数式バーで見ると{=MAX(B1:B5="あ")*A1:A5}のように数式を大括弧で括られています。

SUMPRODUCT関数の引数としてMAX関数の返り値を設定するとEnterキーで確定しても目的通りの値が返ります。
=SUMPRODUCT(MAX((B1:B5="あ")*A1:A5))
どのような数式を使っても結果が目的に合えば良いのでお好きな方法で解決してください。
    • good
    • 5
この回答へのお礼

ありがとうございます。
解決しました。

お礼日時:2014/09/22 18:20

すいません間違えました。


MAX値の合計になりますね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2014/09/22 18:19

使われておられるEXCELが2007以降なら


”SUMIFS”を使うのはどうでしょうか?
条件1にB列の「あ」
条件2にA列の「最大値」

=SUMIFS(合計対象範囲, 条件範囲 1, 条件 1, 条件範囲 2, 条件 2, ...)
    • good
    • 7

配列数式(数式入力後にCtrl*Shift+Enterで確定)を使えば出来ますよ。



・MAX関数
=MAX(IF(B1:B5="あ",A1:A5))

・MIN関数
=MIN(IF(B1:B5="あ",A1:A5))
    • good
    • 4
この回答へのお礼

ありがとうございます。
解決しました。

お礼日時:2014/09/22 18:18

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel、sumifはありますが、minif、maxifはどうしたら?

sumif、countif関数はありますが、minif、maxif関数的なものはどうしたら実現できるのか分かりません。VBAならできますが、関数で実現する方法がありましたら教えてください。

Aベストアンサー

MIN/MAX関数とIF関数で配列数式にするぐらいでしょうか。
例えば、A1:A10に「○」文字列のあるB1:B10のMIN値
 =MIN(IF(A1:A10="○",B1:B10))として入力完了時に、shift+ctrl+enterキーを同時押下して下さい。

QエクセルのMAX関数を複数条件で

エクセルのMAX関数を下記のような複数条件をつけて
使いたいのですが、自分で式を書いてもうまくいきません。
アドバイスをよろしくお願いします。

A1に「部署名」、B1に「受注個数」、C1に「受注日」と見出しをし
(A2:C9)にデータを入力した表があるとします。
部署名には営業1部、営業2部、営業3部のいずれかが入力されていて、
受注日には6月22日と、6月23日のいずれかの入力があるとします。
この表で「営業1部」であり、「6月22日」のものである受注個数の
最大の値を返したいのです。
日付「6月22日」は別途(E2)に参照用として入力したものを使いたいです。

=MAX(IF(AND(A2:A9="営業1部",C2:C9=E2),B2:B9,""))

これではダメでしょうか。
初歩的ですみません、よろしくお願いいたします。

Aベストアンサー

DMAX関数を使うことで、可能です。
(配列数式を使う方法もありますが、他にも流用したいという要望もあるようですので
 こちらのほうがよいでしょう)

DMAX(Database,フィールド,Criteria)
http://excel.onushi.com/function/dmax.htm

QExcelで最大値の入っている数値の右側にある項目名を拾いたい。

Excelで最大値の入っている数値の右側にある項目名を拾いたい。

下のようなデータがあります。(A列は年、Bは何かの生産量・・とします)

1 2000 7
2 2001 11
3 2002 14
4 2003 10
5 2004 9
6 2005 8

生産量(B列)の最大値を求めるのは=MAX(B1:B7)で"14"が得られると思いますが、求めているのは"14"の入っている年の"2002"という数字を隣のC1に入れたいと思います。
どのような関数が必要でしょうか?

Aベストアンサー

こんばんは!
一例です。

↓の画像でC2セルに表示するようになりますが・・・

C2セルの数式は
=INDEX($A$2:$A$1000,MATCH(MAX(B2:B1000),B2:B1000,0))
にしています。
(エラー処理はしていません)
A列の1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば幸いです。m(__)m

Qエクセル 条件を満たす最大値を求めたい

エクセルで受付のデータを以下の形式で管理しようと考えています
お名前については集計シートよりVLOOKUPで参照しています

会員No, お名前, 日付
1, AAAA, 2007/08/01
2, BBBB, 2007/08/02
3, CCCC, 2007/08/03
1, AAAA, 2007/08/04
  :(以下略)

集計シートを作成していて「最終受付日」の求め方が分りません。
回答お願いいたします。
maxとifを組み合わせてやっているのですが、期待する結果が出せません。。。
経過日数、受付数については実装済みです。

会員No, お名前, 最終受付日, 経過日数, 受付数
1, AAAA, 2007/08/04, 28, 2
2, BBBB, 2007/08/02, 30, 1
  :(以下略)

Aベストアンサー

配列関数で実現できますよ。

{=MAX(IF(一致条件検索範囲=一致条件,最大検索範囲,""))}

詳細はリンクを参照してください。

参考URL:http://pc.nikkeibp.co.jp/pc21/special/hr/hr3.shtml

Qエクセル 条件つきで最小値を求めたいです

A列に200名を超える生徒の名前が入っています。
B列に計算テストの結果が入っています。
計算テストは何度も行われており、A列に何度も同じ生徒の名前が出てきます。A列に入っている生徒の名前は1000を超えます。
A   B
田中  42
佐藤  48
鈴木  52
佐藤  56
田中  72
鈴木  60
鈴木  23
などです。この中で鈴木君のとった得点の最小値は23点ですが、それを求める数式を知りたいです。
『rankif』とか『minif』みたいな関数があればいいのですが、ないですよね。ちなみに、私が使用しているパソコンはexcel2000です。
他のシートやC列から右に生徒を判別する関数を入れていけば、私の知っている知識でも可能なのですが、関数を多用すると重くなりますし、避けたいです。また、もともとのデータの入力の仕方を変えたらいいのですが、それはできない状態です。
=MIN(IF(A2:A7="鈴木",B2:B7),false)
みたいな感じかなと式を立てたのですが、うまくいきません。上の状態で、セルに23と表示されるには、どうすればいいか教えてください。お願い致します。m(_ _)m

A列に200名を超える生徒の名前が入っています。
B列に計算テストの結果が入っています。
計算テストは何度も行われており、A列に何度も同じ生徒の名前が出てきます。A列に入っている生徒の名前は1000を超えます。
A   B
田中  42
佐藤  48
鈴木  52
佐藤  56
田中  72
鈴木  60
鈴木  23
などです。この中で鈴木君のとった得点の最小値は23点ですが、それを求める数式を知りたいです。
『rankif』とか『minif』みたいな関数があればいいのですが、ないですよね。ちなみに、私が使...続きを読む

Aベストアンサー

>式を立てたのですが、うまくいきません。
⇒=MIN(IF(A1:A7="鈴木",B1:B7))
この数式は、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセル 複数の条件付で最小値を求めたい

SMALL関数を使用し、最小値を求めようと思ったのですが、
以下のように複数条件で絞り込んで最小値を出したいと思います。
(A-Bの組み合わせ毎の最小値を出す)

A  B  C
東京 渋谷 1000
東京 渋谷 2000
東京 葛飾 2000
東京 葛飾 2500
東京 葛飾 4000



東京 渋谷 1000
東京 葛飾 2000

複数条件抽出の場合SUMPRODUCTを使用していますが、
どうにもSMALL関数を組み込むことができず、お力を
お貸しください。よろしくお願いいたします。

バージョンはエクセル2003を使用しています。

Aベストアンサー

関数を使うなら以下のような配列数式を使用することになります。
(E1セルとF1セルに絞り込み条件が入力されている場合)

=MIN(IF(($A$1:$A100=E1)*($B$1:$B$100=F1),$C$1:$C$100,""))

入力後、Ctrl+Shift+Enterキーで確定してください。

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

QSUMPRODUCT関数を用いた最小値

お世話になっております。

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))}

では求められますが、出来れば配列でない方法を探しています。


宜しくお願い致します。

お世話になっております。

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))...続きを読む

Aベストアンサー

そのまんま
=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))))

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング