• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで日付毎の最大値、最小値を一覧表にしたい)

エクセルで日付毎の最大値、最小値を一覧表にしたい

このQ&Aのポイント
  • エクセルの表で、日付ごとに記録された温湿度データから最低温度と最高温度を抜き出す方法について質問です。
  • データは30分ごとに記録されており、8:00〜20:00までの間のデータを対象にしたいと思っています。
  • 結果の一覧表は、最低温度と最高温度が隣り合って配置されることが望ましいです。VBAを使用してデータの間隔に制約を受けない方法があれば、さらに便利です。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (719/1487)
回答No.3

列が出ていません。画像のような表とします。 G列に日付を入れます。 G6: =INT(A5) H6: =INDEX($A:$A,MATCH($G6&I6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0)) I6: =MINIFS(C:C,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) J6: =INDEX($A:$A,MATCH($G6&K6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0)) K6: =MAXIFS(C:C,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) L6: =INDEX($A:$A,MATCH($G6&M6,INDEX(INT($A$1:$A$8788)&D$1:D$8788,),0)) M6: =MINIFS(D:D,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) N6: =INDEX($A:$A,MATCH($G6&O6,INDEX(INT($A$1:$A$8788)&D$1:D$8788,),0)) O6: =MAXIFS(D:D,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) P6: =INDEX($A:$A,MATCH($G6&Q6,INDEX(INT($A$1:$A$8788)&E$1:E$8788,),0)) Q6: =MINIFS(E:E,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) R6: =INDEX($A:$A,MATCH($G6&S6,INDEX(INT($A$1:$A$8788)&E$1:E$8788,),0)) S6: =MAXIFS(E:E,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) T6: =INDEX($A:$A,MATCH($G6&U6,INDEX(INT($A$1:$A$8788)&F$1:F$8788,),0)) U6: =MINIFS(F:F,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) V6: =INDEX($A:$A,MATCH($G6&W6,INDEX(INT($A$1:$A$8788)&F$1:F$8788,),0)) W6: =MAXIFS(F:F,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) G7: =G6+1 H6:W6 を7行目へコピペ。 G7:W7 を纏めて下へコピペ。 minifs maxifs の無いバージョンの場合、補足に書いて下さい。

akira0723
質問者

お礼

素晴らしい!!!! 気になったのでとりあえず表をコピーしたダミーシートでご回答の行/列に合わせ込んで、ご回答をコピペしてみたら、なんと!!一発で期待した通りの表が作成できました。 ご回答の記載より当方の手間暇が圧倒的に少ないこと気が引けるほどですが、とにかくありがとうございました。 miniifsを始めて知りました。 これも参考になり合わせて感謝!!

akira0723
質問者

補足

おはようございます。 早々のご回答ありがとうございます。 minifs関数は使えるようです。出てきましたので。 列に関しては上部に種々の情報が入っているのでそれを外してそのままキャプチャーしたもので、行を非表示にすることに思い至らず申し訳ありません。 早々に試してみたいのですが、今少しお時間を頂き検証結果を報告させていただきますのでご容赦ください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.4

はい、こんイちは! 添付図について、確認させてください。 1.行番号はチャンと明示されているのに、列記号無しなのはなぜ? 2.左端列は 2022/3/28 12:30 以降30分毎の日時ですが、右隣はそれ  ̄ ̄ぞれのシリアル値と推察しますが、それを設けた理由は何?  ̄ ̄無用の長物では?それとも、何かに少しでも役立ってますか?

akira0723
質問者

お礼

ご回答ありがとうございます。 オハヨウゴザイマス。 先ほどの補足で列番号に関しての回答が抜けました。 データ上部に種々の情報が記載されていたのでキャプチャーする時に外した次第です。 不要な行を非表示にしてからキャプチャーすることに思い至らず申し訳ありません。

akira0723
質問者

補足

この表は有る機器の温度測定結果からCSVファイルで抜き出したものを単純にエクセルで開いたものです。 よってこの表の構成を変えるには1手間、2手間かかるので出来るだけこの表から直接に加工したいのです。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

こういう課題は、データベースソフトを使いこなして、やるべきだ。 エクセル関数しかできなので、こういう質問を出すのだろうが、回答を難しくしているだけで、徒労感が強い。 ーー まず日付(1日分)の範囲の最大・最少を問題にしてながら、A列には、時刻も入っている。邪魔だ。2列に日と時刻がわかれているやりやすいが。 日付けだけにするには、=INT(A2)や =ROUNDDOWN(A2,0)など方法があるかも。 ーー そこで A列(第1行目は見出し文言にすること)を(見出し行も含めて)範囲指定しておいて、データーフィルター詳細設定(フィルタオプションの設定)ー「抽出先」を選び、指定した範囲ー重複するレコードは無視するをON、で、A列のデータをもとに、重複のないデータ(今回は日付)のリストを作る。「抽出先」は、同一シートの空き列を指定。「抽出先」列の第1行目はA列と同じ見出しをコピーしておく。 「抽出先」範囲にも見出し相当の行も含める。 ーー これで出てくる日付はA列データ中の漏れがない、重複のない日付けが作れた。 最低の場合、手作業で同じものを作る手もある。連続の毎日なら開始日から1ごと全日がオートフィルで出せるが、その方法の方が簡単かも === さて日付ごとの最高温度、と最低温度は https://dekiru.net/article/14598/ 「MAXIFS関数の使い方。複数の条件に対応する範囲の中から最大値を返す」 の説明に従って、 (1)日付が抽出した日付列と同じで (2)最大温度のデータ範囲列内で MAXIFSで、範囲列内の最高温度を求めてください。 ーー 日ごと最低温度はMINIFSで、最高温度の場合と、同じやり方です。

akira0723
質問者

お礼

ご回答ありがとうございました。 参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。
  • BUN910
  • ベストアンサー率32% (938/2877)
回答No.1

あなたのイメージに合うか判りませんが・・・ 別なシートに日付を入れ、その右側のセルに最高を記載したいのであれば、そのセルに「オートSUM」の最大値を選択する。 その範囲(点線で表示される)を指定してあげれば数値がピックアップされますよ。 最低も最小値を選択すれば出てきます。 数値の列が48個でないとしても、余裕をもって55とか60列を範囲にすれば出ます。

akira0723
質問者

お礼

ご回答ありがとうございます。 参考にさせて頂きます。 範囲を指定するのがかなり手間なので。。。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで日付毎の最大値・・を一覧表にしたい(再)

    先日ここで、下記の質問をさせてもらって下記のご回答いただいた者です。 ご回答では、全部のデータが対象でこれでも良いかと締め切ったのですがやはり8:00-20:00までのデータ・・・でないと作業時間外の温度となってしまうので意味がなくなることが分かりましたので再度 質問させていただきます。 <前回の質問> エクセルの表で添付の左側の表のような、2つの部屋の温湿度が30分毎に一覧表になったシートがあります。 A列に日付、C列に部屋No①の温度、D列に部屋No①の湿度、E列、F列には部屋No②の温度、湿度が入っています。 この表から各日付の8:00から20:00までの間(可変なら非常にありがたい)の最低温度と最高温度を、右の表のように別の一覧表に抜きたいのですが。。。。 <ご回答> G6: =INT(A5) H6: =INDEX($A:$A,MATCH($G6&I6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0)) I6: =MINIFS(C:C,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) J6: =INDEX($A:$A,MATCH($G6&K6,INDEX(INT($A$1:$A$8788)&C$1:C$8788,),0)) K6: =MAXIFS(C:C,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) L6: =INDEX($A:$A,MATCH($G6&M6,INDEX(INT($A$1:$A$8788)&D$1:D$8788,),0)) M6: =MINIFS(D:D,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) N6: =INDEX($A:$A,MATCH($G6&O6,INDEX(INT($A$1:$A$8788)&D$1:D$8788,),0)) O6: =MAXIFS(D:D,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) P6: =INDEX($A:$A,MATCH($G6&Q6,INDEX(INT($A$1:$A$8788)&E$1:E$8788,),0)) Q6: =MINIFS(E:E,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) R6: =INDEX($A:$A,MATCH($G6&S6,INDEX(INT($A$1:$A$8788)&E$1:E$8788,),0)) S6: =MAXIFS(E:E,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) T6: =INDEX($A:$A,MATCH($G6&U6,INDEX(INT($A$1:$A$8788)&F$1:F$8788,),0)) U6: =MINIFS(F:F,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) V6: =INDEX($A:$A,MATCH($G6&W6,INDEX(INT($A$1:$A$8788)&F$1:F$8788,),0)) W6: =MAXIFS(F:F,$A:$A,">="&$G6,$A:$A,"<"&$G6+1) G7: =G6+1 H6:W6 を7行目へコピペ。 G7:W7 を纏めて下へコピペ。 ============================== ご回答に従ってデータを処理し始めたのですが、やはり8:00~20:00までのデータでないと意味がないことが分かりました。

  • ファイルメーカーで一覧表

    基本シートというレイアウトに入力されたものを、表形式ではなく一覧表のような感じでレイアウトを作りたいのですが、どういう方法がベストでしょうか?表形式だとそこからボタンを押して次のレイアウトへ移動からできませんので。。。 宜しくお願いします。

  • EXCELで一覧表のデータを個別に印刷したい

    こんにちわ。 質問させて頂きます。 EXCEL(エクセル)で一覧表になっているデータがありまして、それを1件1件『A4用紙1枚づつ』に印刷したい。 という発案で、色々調べたのですが上手くいかず・・・。 WORDからの差込印刷も試してみましたが、レイアウトや罫線などの設定も細かく出来ないので駄目でした。 ちなみに、一覧表のデータというのは顧客データでして、名前や住所・生年月日等が入っています。 一番理想的なのは、『EXCEL一覧表のデータ』を『別のシートに作成したテンプレート』にデータを飛ばし、テンプレートに一覧表のデータが反映される。 顧客データは数十人分のデータがありますので、印刷する際にはどのデータを印刷するかしないかを選択できる。 ・・・以上が出来れば素晴らしいです。 どなたか、その方法・もしくはヒント的な事を知っている方が居ましたら教えていただけると有難いです。 宜しくお願い致します。

  • エクセルで一覧表から検索

    ご教授をお願いします。 在庫表を作りたいと思っています。 sheet1に下記のようなデータの一覧表があります。 (AS400からデータを取り込みます) 納入日     品番   数量 20071010  1111-1111  1000 20071010  2222-2222  2000 20071011  3333-3333  2000 20071011  1111-1111  3000   ↓     ↓    ↓   以下続く・・・ sheet2に、         20071010  20071011 ・・・  1111-1111   1000    3000  ・・・            ↑     ↑   となるように↑矢印部に検索させる関数はないでしょうか? 10月中に在庫表を完成させなければなりません。 宜しくおねがいします。

  • 別々のエクセルシートから、一覧表を作るには?

    マイクロソフトエクセルで、複数のシートに入力してあるデータ(名前、年齢、職業など)を1つのシートにまとめて、一覧表を作成するには、どのようにすればいいのでしょうか?

  • Excel 一覧表から特定の数値を別シートに抽出

    Excelで名簿を作っています。 その名簿(一覧表)には会員番号・部屋番号・氏名を入力しているのですが、 部屋番号毎に自動でシートを振り分けたいと思っています。 部屋番号は1階は101、102、103、2階は201、202、203と言う感じでつけています。 これを1階のシート、2階のシートの形で一覧表に入れたすべてのデータで作りたいです。 作り方をしたいです。 フィルタオプションの設定を使ってみたのですが、分かりませんでした。 どなたか教えてください。 よろしくお願いします。

  • エクセル2010 一覧表から抽出したい

    一覧表の中に複数の業者があり、それを別の表に1種類(1業者毎に)づつ表示する事はできますか? 言葉がわからないので抽出と書きました F列に自分で業者名を書いて合計を出すことはできますが、自分で書かなくても 自動で重複することなく並べたいです。 また、別シートにも同じように重複することなく並べたいと思っています 画像を添付しますので宜しくお願い致します 説明が下手ですいません

  • エクセル 複数ファイルから特定のデータを一覧に

    エクセル 複数ファイルから特定のデータを一覧に 先日こちらで質問をさせて頂いたのですが、うまく解決できず 、またその後独力でも解決できないので、再度質問させて頂きます。 前質問 http://okwave.jp/qa/q6309713.html (元データ) A  B     C      D        E No 月1    月2     月2      氏名    1 2010/11  2010/8   2010/7    佐藤 2 2010/10  2010/8   2010/7    山田 3 2011/12  2010/8   2010/7    田中 4 2010/10  2010/8   2010/7    田中 ・ ・ 上記のデータが1年度あたり ファイル1(4シート+一覧シート) ファイル2(4シート+一覧シート) ファイル3(4シート+一覧シート) ファイル4(4シート+一覧シート) ファイル5(4シート+一覧シート) ※上記A列のNoは1シート内での連番。 のように構成され、それが6年度分(計30ファイル)あるという状態です。 参照用ファイルのセルA1に2010/10と入力してやると、各ファイルのB~D列のどこかに に2010/10とあるデータだけ抽出して一覧に(参照用ファイル同シート内) してくれるようにしたいと考えております。 関数またはVBAにて処理する方法はありますでしょうか? お知恵を拝借願えれば幸いです。

  • 一覧表から抽出?

    皆さんいつもアドバイスありがとうございます。 また今回も宜しくお願い致します。 エクセルの2003を使用しています。 図のような一覧表があり、その中にお客様から指定された時間を入力しています。 この一覧表をソート?し、左側のB列に指定時間の早い順に、A列にはそれに対応する部屋番号を抽出表示させたいのです。 このような事は可能でしょうか?

  • 複数のシートから一覧表を作成する方法

    次のことを実現させる方法を教えてください。 シート 「あ」「い」「う」があります。 ※例としてはシートを3つあげましたが、 このシートはどんどん数が増えていきます。 シート「あ」   A   B 1 鈴木 1976/1/1 シート「い」   A   B 1 佐藤 1977/1/1 シート「う」   A   B 1 山田 1978/1/1 そこから一覧表を作成したいのです。 その一覧表のシート名を「一覧表」とします。 シート「一覧表」(実現したいシート内容)   A    B   C 1 シート名 名前 生年月日 2 A     鈴木 1976/1/1 3 B     佐藤 1977/1/1 4 C     山田 1978/1/1 参照元のシートが固定されているなら   A    B   C 1 シート名 名前 生年月日 2 あ    あ!A1 あ!B1 3 い    い!A1 い!B1 4 う    う!A1 う!B1 と直接参照先を書けばいいのですが、 この方法では、シートが増えるたびに B列、C列にえ!A1 え!B1というように参照先を その都度書いていかなければいけません。 だから、一覧表で、シート名(A列)を入力ただけで、 自動的にそのシートに記載されている 名前と生年月日が反映されるようにしたいのです。 例えば今A3には「い」と記載されていますが、 これを「あ」と変更すると 以下のようにしたいのです。 B3のセルの中身は い!A1 → あ!A1 C3のセルの中身は い!B1 → あ!B1 一覧表のセルB列、C列にどのように記入すれば自動化できるでしょうか?

専門家に質問してみよう