[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『変動型の最大値』(LL)
A列に時間があり、B列にデータがあります。
A B
0:00:01 30
0:00:02 30
0:00:03 40
0:00:04 50
0:00:05 60
時間を自動的に読み込んで、その範囲のMAX値を求めたい。
時間は変動するよになっています。例えば1秒から3秒のMAX値、3秒から5秒のMAX値など自動で最大値を求めたいです。
C1 0:00:01(数式) C2 0:00:04(数式)
関数式に誤りがある為、計算結果が正しくありません。最大値が求めらません。
=MAX((C1<=A1:A5)*(A1:A5<=C2)*(B1:B5))
正しく修正するにはどうすればよろしいでしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows7 >
式を確定する際にShiftキーとCtrlキーを押しながらEnterキーを押す。 (確定後、式が{}で囲まれればOK) あるいは =MAX(INDEX((C1<=A1:A5)*(A1:A5<=C2)*B1:B5,0)) ではどうか。 (ねむねむ) 2017/06/15(木) 17:06
実際、BのデータはMID関数でデータを抜き出しています。
元のデータ Sheet2 B1「 39 [c]」それを、「=MID(Sheet2!B1,2,2)」
この場合だと結果が#Valueになってしまいます。
(LL) 2017/06/15(木) 17:19
B列の計算範囲内で空白になっているセルはあるだろうか? (ねむねむ) 2017/06/15(木) 17:27
A B D E 1 時間 値 時間 時間 2 0:00:01 30 =">=0:00:01" ="<=0:00:04" 3 0:00:02 30 4 0:00:03 40 最小 最大 5 0:00:04 50 =DMIN(A:B,"値",$D$1:$E$2) =DMAX(A:B,"値",$D$1:$E$2) 6 0:00:05 60
(???) 2017/06/15(木) 17:50
あと、C列を空けているのですが、詰めて転記していませんか? 列が変われば式も変わりますよ。
(???) 2017/06/15(木) 18:04
↓ だとどうなりますか?(Enterだけで確定。範囲はテキトー)
=MAX(INDEX((C1<=A1:A10)*(A1:A10<=C2)*(0&B1:B10),0)) ~~~~~~~~~~ ↑
>実際、BのデータはMID関数でデータを抜き出しています。 >元のデータ Sheet2 B1「 39 [c]」それを、「=MID(Sheet2!B1,2,2)」
それだと数値ではなく「文字列の数字」になってしまう。 例えば ↓ なふうにすると数値になります。 =IFERROR(MID(Sheet2!B1,2,2)*1,"")
こうすれば、最大値は上と同じく =MAX(INDEX((C1<=A1:A10)*(A1:A10<=C2)*(0&B1:B10),0)) または
=MAX(IF((C1<=A1:A10)*(A1:A10<=C2),B1:B10))
下の式はCtrl+Shift+Enterで確定。
数値ならDMAX関数も使えるでしょう(「文字列の数字」だと「0」になる)
>C1 0:00:01(数式) C2 0:00:04(数式)
どんな数式ですか? 演算誤差のことは考えなくてもいいんですかね?
参考まで。 (笑) 2017/06/15(木) 19:08
お知らせ頂いたこの式で問題が改善できました。
=IFERROR(MID(Sheet2!B1,2,2)*1,"")
(LL) 2017/06/16(金) 09:59
(LL) 2017/06/16(金) 10:24
>AVERAGEもMAX関数の式を流用すると結果がおかしくなります。
流用と言われても最大値をどんな式にしたのかわからないし、 結果がおかしいと言われても、どんなデータの場合にどんな結果になったのかわかりません。
とりあえず AVERAGEIFS 関数を調べてみたらどうでしょうか。
ところで最小値はどうやって解決したんですか? (笑) 2017/06/16(金) 22:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.