こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで最新の最小値をだしたいのですが、、、

エクセルで、最新の最小値をだしたいのですが、
MIN関数で最小値はだせるのですが、

最小値が同じものが複数あり、
一番新しいデータ入力日の最小値を
表示したいのでずが、
一番古いデータ入力日のものが
最小値として呼び出されてしまいます。

OR等を使って式を入力してみたのですが、
エラーがでてうまく値がだすことができません。。。

データは、C1からZ1までデータ入力日がはいっています
B2からZ50まで数字がはいっています。
それぞれの行ごとの最小値をA列に表示させたいと思っています。
さらにそのあと、B列に、最小値のデータ入力日も表示させたいと
思っています。

↓A2セルには、”10”
 B2セルには、”3/11”と表示させたいのですが...
 =MAX(MIN($C2:$Z2)*$C1:$Z1)
こんな感じで作ってみたのですが、VALUEのエラーが
でてしまいます。。

     A列  B列  C列  D列  E列・・・
1行目          2/10 3/10  3/11・・・
2行目          10    15  10 ・・・ 
3行目          20    25  30 ・・・




どなか分かる方どうか教えてください。
よろしくお願いします。

投稿日時 - 2011-05-11 16:25:26

QNo.6730116

困ってます

質問者が選んだベストアンサー

最小値の値そのものは,最新も最近もなくて「10」です。
A2:
=MIN(C2:Z2)
実際には
=IF(COUNT(C2:Z2),MIN(C2:Z2),"")
と記入しておきます。

その10の値が複数回出てくるときに,一番最近の日付が欲しいので
B2:
=IF(A2="","",MAX(IF(C2:Z2=A2,C$1:Z$1)))
と記入してコントロールキーとシフトキーを押しながらEnterで入力します。

投稿日時 - 2011-05-11 16:42:18

お礼

回答ありがとうございました。

教えていただいた数式を使ったら
うまくいきました。

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

投稿日時 - 2011-05-12 14:28:54

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

 もし、1行目の日付が順序正しく、必ず右へ行くに従って新しい日付となっていて、且つ、右端の列の列番号がAMH列(1022番目の列)以下である場合には、以下の方法で、作業列を使わず、完全に自動的に、最小値となっている中で最も新しい日付を求める事が出来ます。(Crtl+Shift+Enterキー操作も不要です)

 まず、B2セルに次の数式を入力して下さい。

=IF(ISNUMBER(SQRT(MATCH(9^9,$1:$1)-COLUMN()-1)),IF(OR(MATCH(9^9,$1:$1)>1022,COUNT($C2:INDEX(2:2,MATCH(9^9,$1:$1)))=0),"",MIN($C2:INDEX(2:2,MATCH(9^9,$1:$1)))),"")

 次に、A2セルに次の数式を入力して下さい。

=IF($B2="","",INDEX($1:$1,INT(LOG(SUMPRODUCT(2^COLUMN($C$1:INDEX($1:$1,MATCH(9^9,$1:$1)))*($C2:INDEX(2:2,MATCH(9^9,$1:$1))=MIN($C2:INDEX(2:2,MATCH(9^9,$1:$1))))),2))))

 そして、A2~B2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。

 以上です。

投稿日時 - 2011-05-12 05:03:00

お礼

回答ありがとうございます。

はじめてISNUMBERやSQRTの関数をみました。

すごくお詳しいのですね。

配列数式を使わなくてもすむ方法もあるのですね。

勉強になりました。ありがとうございました。

投稿日時 - 2011-05-12 14:26:25

添付図参照
A2: {=MIN(IF(C2:IV2<>"",C2:IV2))}
B2: {=INDEX(C$1:IV$1,MAX((C2:IV2=A2)*COLUMN(C2:IV2))-2)}
【注】何れも配列数式です。

大変申し訳ございませんが、この投稿に添付された画像や動画などは、「BIGLOBEなんでも相談室」ではご覧いただくことができません。 OKWAVEよりご覧ください。

マルチメディア機能とは?

投稿日時 - 2011-05-11 21:08:49

お礼

回答ありがとうございます。

配列数式で教えていただいたもので、うまく表示できました。
ありがとうございました。

図ものせていただいてありがとうございました。

投稿日時 - 2011-05-12 11:57:32

ANo.2

こういうことを考えるとき、日付は日付シリアル値で入れておくべきなのだ。
日付を文字列で入れていると複雑になる。
それだと1900年1月1日からの実際の経過日数なので、一番新しい日付はデータの中の最大値になるのだ。
ーー
>一番新しいデータ入力日の最小値を表示したいのでずが、
この表現おかしくないですか。どの日であれ10に違いなかろ。
>新しいデータ入力日の最小値を表示したいのでずが、
これをそのままの意味に取るなら3月11日に複数データが無いと、話しにならないがどうですか。例の挙げ方が悪い。
>行ごとの最小値をA列に表示させたいと思っています
これは行の最小値をMIN関数で出せるでしょう。
>B列に、最小値のデータ入力日も表示させたいと
表現が舌たらず。
B列に、最小値のデータ入力日も表示させたい、最小値と同じ日が複数あれば、最近の日付を出したい。
と書くべきでしょう。
ーーーー
これは2条件の抜き出し問題的なんだが、1つの関数でこれを出すのは難しい。
配列数式の領分になる。
例データ
A1:G4
最小値最小値最近日付2月10日3月10日3月11日3月12日3月13日
102011/3/131015101410
122011/3/102012301626
82011/3/1112881210
A2の式 
=MIN(C2:G2)
下方向に式を複写
ーー
B2の式
=INDEX($C1:$G$1,0,MAX(IF(C2:G2=$A2,COLUMN(C2:G2)-2,0)))
と入れて、SHIFT、CTRL,ENTERの3つのキーを同時押しする。
表示形式は日付の書式にしておくこと。
下方向に式を複写
結果
上記B列の通り

投稿日時 - 2011-05-11 19:15:03

お礼

回答ありがとうございました。

質問の説明がわかりずらくすみませんでした。
質問の仕方も指摘いただき勉強になります。
ありがとうございました。

教えていただいたものを使ってみたらうまくできました。
ありがとうございました。

表示形式は日付の書式にしておくことなど、
注意点まで教えていただきありがとうございました。

投稿日時 - 2011-05-12 11:54:26

あなたにオススメの質問