• ベストアンサー

配列数式について教えてください

配列数式について教えてください。 表を添付しました。配列数式を用い、データの抽出をしようとしましたが、「0」の表示となってしまい、希望する数値が表示 されませんでした。式も、表に記入してあります。 どうすれば、正しいデータが抽出されるでしょうか? 表の内容は、1月2~4日までのデータがあり、、それぞれ9:00~9:02の1分ごとに、その最大値と最小値が記入されています。 1月2日~4日の中で、9:00に該当した最大値を抽出したいと 思います。表に従えば、「70」が表示されるべきですが、「0」と表示されてしまいます。なぜなのでしょう? 式のどこを直したらよいか、どうかご教授願います。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

>「0」と表示されてしまいます。なぜなのでしょう? ⇒仮にMAX(IF(B2:B10="9:00",C2:C10))と時刻を文字列にしていると「0」になると思いますが如何でしょうか。  エクセルの仕様なのでしょうか、””囲みの日付や時刻で比較する場合、シリアル値に変換しないと駄目です。 ”日付/時刻”に「1」を乗算か、DATEVALUE/TIMEVALUE関数で変換する必要があります。  (例)=MAX(IF(B2:B10="9:00"*1,C2:C10))

colnago98
質問者

お礼

よくわかりました! ありがとうございました!(^-^)

その他の回答 (4)

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.4

日付や時間の文字列を数値(シリアル値)に変換する場合は それ用の関数が用意されてますので 関数使用の方が確実に変換されそうな。。。(^^;;; =MAX(IF(B2:B10=TIMEVALUE("09:00:00"),C2:C10))  

colnago98
質問者

お礼

ありがとうございました! まだまだ勉強が必要と痛感しました(^^;

noname#204879
noname#204879
回答No.3

【誤】 {=MAX(IF(B2:B10="9:00*1",C2:C10,""))}             ~~~~~~~~ 【正】 {=MAX(IF(B2:B10="9:00"*1,C2:C10,""))}             ~~~~~~~~

colnago98
質問者

お礼

ありがとうございました!(^-^) 助かりました!

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

=SUMPRODUCT(MAX((B2:B10="9:00"*1)*C2:C10)) こんな感じで

colnago98
質問者

お礼

ありがとうございました!(^-^) まだまだ勉強が必要ですね(^^;

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

=MAX(IF(B2:B10=0.375,C2:C10,"")) はどうでしょうか。

colnago98
質問者

お礼

ありがとうございました!(^-^)

関連するQ&A

専門家に質問してみよう