- ベストアンサー
エクセル関数 MINIFS
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
提示された模擬データと条件を基にExcel 2010で目的のIDを抽出する数式は次のようになります。 =INDEX(A2:A6,MATCH(MIN(INDEX((B2:B6="A")*C2:C6+(B2:B6<>"A")*MAX(C2:C6),0)),C2:C6,0)) 実際のデータへ応用するときはセル範囲を修正するようにしてください。 尚、セル参照は相対番地なので他のセルへコピーするときは絶対番地の$記号を適宜付加してください。 条件に一致する対象が無いときのエラー処理は含まれていませんので必要のときは付加してください。
その他の回答 (7)
- Nouble
- ベストアンサー率18% (330/1783)
本当に、度々 済みません また、間違えてますね 訂正 させて、ください 何処かの、セルに 入力し 下に、フィルして ください =IFERROR( OFFSET($A$2, SMALL( INDEX( (($C$3:$C$7=$F$4)*ROW($A$1:$A$5)) +( ($C$3:$C$7<>$F$4) +( MIN( INDEX( ($C$3:$C$7<>$F$4) *10^30 +$D$3:$D$7 ,,) ) <>$D$3:$D$7 ) ) *10^30 ,,) ,ROW(A1)) ,1,1,1) ,"-") 他にも 実験的、アプローチ と、して =IFERROR(OFFSET($A$2,SMALL( INDEX( (($C$3:$C$7<>$F$4)*10^30 +$D$3:$D$7)*10^8 +ROW(INDIRECT("A1:A"&COUNTA($C$3:$C$7))),,),ROW(A1)) -SMALL( INDEX( ((($C$3:$C$7<>$F$4)+(MIN(INDEX(($C$3:$C$7<>$F$4)*10^30+$D$3:$D$7,,))<>$D$3:$D$7))*10^20 +$D$3:$D$7)*10^8,,),ROW(A1)),1,1,1),"-") とか =IF( SUMPRODUCT((MIN(INDEX(($C$3:$C$7<>$F$4)*10^15+$D$3:$D$7,,))=$D$3:$D$7) *($C$3:$C$7=$F$4))<ROW(A1),"-", OFFSET($A$2, MOD(SMALL(INDEX(($C$3:$C$7<>$F$4)*10^30+$D$3:$D$7*10^8+ROW($A$1:$A$5),,),ROW(A1)),10^8),1,1,1)) とか また、 私の、主義 には、反する の、ですが コントロールキーと、シフトキーを、 押しつつ、エンターして、 入力する、もの と、して {=IF( SUMPRODUCT((MIN(INDEX(($C$3:$C$7<>$F$4)*10^15+$D$3:$D$7,,))=$D$3:$D$7) *($C$3:$C$7=$F$4))<ROW(A1),"-", OFFSET($A$2, MOD(SMALL(IFERROR(($D$3:$D$7*10^8+ROW($A$1:$A$5))/($C$3:$C$7=$F$4),""),ROW(A1)),10^8),1,1,1))} 単に 1件だけ、出す なら {=OFFSET(A2,MOD(MIN(CHOOSE((C3:C7=F4)+1,C3:C7,D3:D7*100+ROW(A1:A5))),100),1,1,1)} {=OFFSET(A2,MOD(MIN(IFERROR((D3:D7*10^8+ROW(A1:A5))/(C3:C7=F4),"")),10^8),1,1,1)} 此方も コントロールキーと、シフトキーを、 押しつつ、エンターして、 入力してください 筆末に 今回は、本当に 何度も、間違えて 済みません、でした。 謝罪します。
お礼
大変貴重なアドバイスを沢山いただき本当にありがとうございました! また、宜しくお願い致します。
- Nouble
- ベストアンサー率18% (330/1783)
サンプルが、出ていた とは、気付かず 失礼、致しました 恐らく、此が 一番、シンプル で、しょう =DMIN(C2:D7,G3,F3:F4) (参考文献 : http://excel.onushi.com/function/dmin.htm ) 先ず、注釈 と、して 此の、関数は 「見出し」 ありきで、動作します 第一項:データベース範囲 此の、項には 見出し付きで 抽出条件に 用いる、値と、 最小値の、比較に 用いる、値、 の、範囲を 指定します 第二項:最小値比較項の指定 此の、項では 第一項の、範囲の 内で どの、見出しを 持つ、項で 最小値を、比較するか を、指定します 第3項:抽出条件 此の、項では 第一項の、範囲の 内で どの見出しで、抽出するか どういった、条件で 選別するか 指定します 例えば、今回は F3で、 見出しを、商品名 F4で 値を、A と、 指定、しています 此は 「見出しが 商品名の、欄から Aを、選べ」 との、指示に なります 条件は、1つ とは 限る、必要が 無くて 割と、多くの 条件が 指定、可能 です また、 =MIN(INDEX(((C3:C7=F4)*D3:D7)+((C3:C7<>F4)*MAX(D3:D7)*10),,)) と、しても 求まります。
- Nouble
- ベストアンサー率18% (330/1783)
行ナンバーですか? 奥ゆかしいですね =IFERROR(SMALL(INDEX(-SMALL(INDEX(-((MIN($A$1:$Z$10)=$A$1:$Z$10)*ROW($A$1:$A$10)),,),ROW(INDIRECT("A1:A"&SUMPRODUCT((MIN($A$1:$Z$10)=$A$1:$Z$10)+0)))),,),ROW(A1)),"") 因みに セルアドレスなら 此で =IFERROR( CHAR( MOD( SMALL( INDEX( -SMALL( -INDEX( (MIN($A$1:$Z$10)=$A$1:$Z$10)*(ROW($A$1:$Z$10)*100+COLUMN($A$1:$Z$10)) ,,) ,ROW( INDIRECT( "A1:A" &SUMPRODUCT( (MIN($A$1:$Z$10)=$A$1:$Z$10)+0) ) ) ) ,,) ,ROW(A1)) ,100) +64) & INT( SMALL( INDEX( -SMALL( -INDEX( (MIN($A$1:$Z$10)=$A$1:$Z$10)*(ROW($A$1:$Z$10)*100+COLUMN($A$1:$Z$10)) ,,) ,ROW( INDIRECT( "A1:A" &SUMPRODUCT( (MIN($A$1:$Z$10)=$A$1:$Z$10)+0) ) ) ) ,,) ,ROW(A1)) /100) ,"")
- bunjii
- ベストアンサー率43% (3589/8248)
>MINIFS関数で得た最小値のある行のID番号を指定のセルに返す方法を教えてください(最小値を求める関数はMINIFS以外でも構いません)。エクセルは2010を使用しています。 「行のID番号」とは「行番号」のことですよね?(A10セルの行番号は10) Excel 2010には標準の組み込み関数にMINIFSはありません。 Excel 2016に初めて追加されたようです。 私はExcel 2013です。MINIFS関数がありませんので検証できませんが論理的にはMATCH関数で求められます。 模擬データで良いのですが複数の条件と検索範囲の値を提示してください。 複数の条件でも特定列の最小値をMIN関数とINDEX関数の組み合わせで求められます。 具体的には模擬データの提示後とさせて頂きます。
補足
ご回答ありがとうございます。 模擬データを作成しましたのでご確認ください。 ID 商品名 金額 1 A 1000 2 A 500 3 A 800 4 B 1000 5 B 200 商品名フィールドからAの値を抽出しつつ最安値を出し、同レコード上にあるIDフィールド(上図の場合2)を任意のセルに出力したいです。 この時、検索値の抽出方法に制限が入るデータベース関数の使用は避けたいと考えています。また、エクセル2010を使用しているため、MINIFS以外の関数で求められるなら大変助かります。 よろしくお願いいたします。
- Nouble
- ベストアンサー率18% (330/1783)
もとい 失礼しました 訂正 させて、ください 済みません。 後程、修正 致します
- Nouble
- ベストアンサー率18% (330/1783)
=IF(SUMPRODUCT ((MIN($A$1:$Z$100)=$A$1:$Z$100)+0)<ROW(A1),"". CODE(64-SMALL(- INDEX(MIN($A$1:$Z$100)=$A$1:$Z$100)*ROW($a$1:$a$100*COLUMN($a$1:$Z$1),,),ROW(a1)) & -SMALL(- INDEX(MIN($A$1:$Z$100)=$A$1:$Z$100)*ROW($a$1:$a$100,,),ROW(a1))) 範囲中 最小値を、示す セル、アドレスを 一覧で、示します (※注:未検証)
- mshr1962
- ベストアンサー率39% (7418/18948)
定番だと =INDEX(ID番号の列範囲,MATCH(最小値の式,最小値のある列範囲,0))
補足
ご回答いただきありがとうございます。 MATCH関数にMINIFS関数の値を渡せるという解釈でよろしいでしょうか? Yesの場合、MATCH関数の()内の記入例を教えていただけませんでしょうか? Noの場合、MATCH関数に複数の条件からなる最小値の値を渡せる方法がわかると助かります。 よろしくお願いいたします。
関連するQ&A
- エクセルのcountif関数について
エクセルで下記のような場合、どのような関数になるのでしょうか?? 番号2の行について (1)B列に1~999までの数字が入力されていて (2)かつJ列に「ごはん大」という文字が入力されている (3)ただし「ごはん大」と打ち込んであるせるは「ごはん大 おかず大盛り」など「ごはん大」以外の文字も同一セルに入力されている可能性がある。 このような場合、countif関数を使用するのではないか、ということまでは何となくわかったのですが、(1)、(3)についてよく分からずご質問させていただきました。 ちなみにエクセル2010を使用しています。 どなたかアドバイスよろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- エクセルのMin関数
エクセルでデータ中の最小値を表示するとき、「ゼロ以外で最小」を一発で出す 方式はありますか?Min関数ではその手の指定ができないようなのですが...
- ベストアンサー
- オフィス系ソフト
- エクセル関数のセル参照方法
エクセル関数のセル参照で、あるセルに入力した数値を、参照するセルの行番号として使いたいのですがどうしたらよいのでしょうか? VBAではそのような方法があったと思うのですが、関数で処理する方法はあるのでしょうか? たとえば、 =SUM(C5:C*) のような関数で「*」を他のセルに入力して参照させることは可能でしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- officeのexcelにて最小値の計算
officeのexcelにて最小値の計算 ある行についての最小値を出したいのですが、 その行には空白のセルがある場合があります。 この行でMIN関数を使用すると、空白のセルを"0"として計算してしまいます。 空白のセルを無視して、「数値が入力されているセルの内、最小値」を出したいのですが、 どうすればできるでしょうか。
- ベストアンサー
- オフィス系ソフト
- Excelの関数
Excelで、範囲指定した列に文字"○"があり、なおかつ文字"○"があった行の範囲指定した別の列に文字"△"があるセルの個数カウントをしたいのですが、その場合の関数がわかりません。 わかりづらい質問で申し訳ございませんが教えてください。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- Excel検索等関数
Excelのデータで同じ列の中に番号が重複している値を探し出しなおかつ任意の行数に出す関数はありますか? Sheet1 |Sheet2 A B | A B 1 あ 10 | 1 あ 10 2 あ 11 | 2 あ 11 3 い 21 | 3 い 21 4 う 22 | 4 ←A4:b4は、「い」が2行ないので空白 | 5 う 22 | 6 ←A6:b6も、「う」2行ないので空白 このように、縦の重複したセルを検索して、指定行数内の場合は、空白となる関数式があればお教えください。
- ベストアンサー
- オフィス系ソフト
- Ms-Excelの関数について
Ms-Excelの関数について ---------------------- 90 6 6 10 0 3 80 1 2 99 2 9 ---------- =VLOOKUP(MIN(A1:A4),A1:C4,3,0)(←答えは3) ------------------------ このようになると思いますが、 最小ではなく、最小から2番目のもの(80の、行の答えである2)を選び出したいのですがどうすればいいでしょうか? よろしくお願いいたします。 また、もし、可能でしたら、同順位の場合(A:Aに、同じ数字が来た場合)、行番号の大きいデータの優先が出来ればなお助かります。 ご返答何卒、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルの関数について
Windows Xp エクセル2003を使用しています。 業務で使用している集計表ファイルがあり、別ファイルにデータを反映させたいのです。 集計表のセルA1を検索値としセルB1とセルB2の値を返す関数はないでしょうか? 集計表のつくりは約1000行あり、セルA3を検索値としてセルB3の値を返す行もあります。 セルA5を検索値とし、B5、B6、B7、C5,C6の値を返す行など様々です。 こういったデータがランダムで表になっています。一つの検索値に対して、検索値の水平方向はvlookup関数で表示出来たのですが、 一つの検索値で2つの値を返す関数が分からず、困っています。 1行下や2行下を検索する関数も参考にしたのですが、集計表のつくりがランダムの為、検索してほしくないものまで表示されてしまうなど、ウマクできませんでした。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの関数で・・・
私は、エクセルの関数で次の形の式をよく使います。 セル番号A1に IF(B1="","",・・・・・・・・・・) みなさんご存知のとおり、『「セル番号B1」が空欄の場合は、「セル番号A1」に空欄を返しなさい。それ以外の場合は・・・・・・・・・・・。』 そこで質問です。 セル番号A1に、 『「セル番号B1」と「セル番号C1」と「セル番号D1」の3つ全部が空欄の場合は、セル番号A1に空欄を返しなさい。それ以外の場合・・・・・・・・・・・。』 とういう式をお教えください。解りにくい文章(説明文)ですがよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
動作確認できました。丁寧で簡潔にご回答いただきありがとうございました。大変助かりました!また、宜しくお願い致します。