- ベストアンサー
エクセル関数
よろしくお願いいたします。 ○ =SMALL((J44:J48,J50:J53),1) は範囲を複数個(複数範囲)選択して、その中を小さな順に並べて1番小さな数値が帰ってくると思います。 ○ {=SMALL(IF(J44:J48=3,I44:I48),1)} はJ列の範囲中の3の時のI列を選択して、その中をを小さな順に並べて1番小さな数値が帰ってくると思います。 行列関数(←そう呼ぶのかな)を利用しています。{}のこと ○では、これら2つを組み合わせることはできないのでしょうか?? {=SMALL((IF(J44:J48=3,I44:I48),IF(J50:J53=3,I50:I53)),1)} でやってみたのですが、ダメです。 どなたか、エクセルスペシャリスト様、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
余分な事まで考えすぎましたかね。^^; SMALLを使用されていたので 一番目 {=MIN(SMALL(IF(J44:J48,J50:J53),1),SMALL(IF(J50:J53=3,I50:I53),1))} 二番目 {=MAX(SMALL(IF(J44:J48,J50:J53),1),SMALL(IF(J50:J53=3,I50:I53),1))} 三番目 {=MIN(SMALL(IF(J44:J48,J50:J53),2),SMALL(IF(J50:J53=3,I50:I53),2))} と応用されるかな?と先を読みすぎました。 あっ!それでも実質の順序は必ずしも順番にはならないですね^^; 4系統で見ないとわからないか・・・ シンプルイズベスト No.2さんの回答を採用して下さい。
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
もちろん {=MIN(SMALL(IF(J44:J48=3,I44:I48),1),SMALL(IF(J50:J53=3,I50:I53),1))} でもいいですが、 最小をもとめるなら {=MIN(IF(J44:J48=3,I44:I48),IF(J50:J53=3,I50:I53))} でよいのでは?
お礼
回答ありがとうございます。 補足をださせていただきましたので、出来ましたら引き続きご教授願います。
- suekun
- ベストアンサー率25% (369/1454)
まず・・・{}は配列関数です。^^; さて、三番目の数式は何を求めたいのでしょう? 双方の配列の最小値のさらに小さい方て事で良いのでしょうか? {=MIN(SMALL(IF(J44:J48,J50:J53),1),SMALL(IF(J50:J53=3,I50:I53),1))}
補足
回答ありがとうございます。配列関数ですね。勉強になります。 で、本題。 少し解りやすくとおもって、1番小さなものにしてしまいましたが、実際は 「小さい順に並べて下から5個目」とかにしたかったのです。 「一番小さな値」ではなかったのです。すみません。 1.if文で条件を与えて一致したデータを小さな順に並べたい {=SMALL(IF(J44:J48=3,I44:I48),5)} 2.連続しないで存在するデータ範囲を小さな順に並べたい =SMALL((J44:J48,J50:J53),1) この二つはうまくったのですが、。これらを合わせて 3.連続しないで存在するデータ範囲をif文での条件に合ったデータを小さな順に並べたい {=SMALL((IF(J44:J48=3,I44:I48),IF(J50:J53=3,I50:I53)),1)} これがうまく行きません。 よろしくお願いいたします。