• ベストアンサー

エクセル 日付による料金の最安値

お世話になっております。日付毎に料金があるのですが月の最安値を求めたいのですが、方法が思いつきません。 例1)セルA セルB セルC 20061001 20061220 600 20061219 20070115 590 20070116 20070131 570 欲しい答え 10月600 11月600 12月590 1月570 2月570 3月570 例2) A B C 20061001 20070115 300 20070116 20070117 400 20070118 20070131 570 欲しい答え 10月300 11月300 12月300 1月300 2月570 3月570 よろしくお願いします。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.6

◆こんな方法もありますよ ◆10月の式 =MIN(INDEX(SUBSTITUTE((INT($A$1:$A$3/100)<=--TEXT(DATE(2006,10+ROW(A1)-1,1),"yyyymm"))*(INT($B$1:$B$3/100)>=--TEXT(DATE(2006,10+ROW(A1)-1,1),"yyyymm")),0,10^5)*$C$1:$C$3,)) ★少し長いですが、Enterで式を確定後下にコピーすると、11月、12月、1月分が表示されます

takotan2
質問者

お礼

maron--5 様 ありがとうございました! 完璧です。求めていたそのものでした。 本当にありがとうございました。

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

その他の回答 (5)

  • rin01
  • ベストアンサー率43% (33/76)
回答No.5

ふたたび~です。。。♪ ちょっと、カン違いしていました~。。。 お二人の回答を見たら 質問を理解できました~。。 A~B列の日付けは、期間ですよね。 その間の月も、計算しなくちゃいけなかったですね。。 私の回答は、無視して下さ~い。 mshr1962さん ご指摘ありがとうございました。 しげちゃんさん ごぶさたです。。。 。。。Ms.Rin~♪♪

takotan2
質問者

お礼

rin01さん すばやいレスありがとうございました。 mshr1962さん、しげちゃんさんの意見を参考にさせていただきながら やってみます。 ただ、同じ内容をphp+mysqlでもすることになりました。 カテゴリーを変えてまた質問します。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.4

=MIN(IF((INT($A$1:$A$3/100)<=200610)*(INT($B$1:$B$3/100)>=200610),$C$1:$C$3,"")) Ctrl+Shift+Enterキーで式を確定してください No3 さんへ 配列数式の中で AND 関数を使用する場合は慎重に! Ms.Rin さんへ 例1の11月が0になりませんか?

takotan2
質問者

お礼

sige1701さま レスありがとうございます。 配列数式という概念が(ヘルプでみても)ピンとこず、とりあえずコピペとCtrl+Shift+Enterキーしたのですが、全期間中の最安値になってしまうようですが。。。例1でいうと570 ただ、同じ内容をphp+mysqlでもすることになりました。 カテゴリーを変えてまた質問しますが、エクセルでも必要なのでお手数ですがご教授いただけませんでしょうか? よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

日付の範囲が複数年ある場合、年度が異なる同月はどうするんでしょうか? #1,2の方のだと2006年も2007年も両方参照するようですが... それと最後の終了日付の方が、1月で止まってるので2月,3月が表示できません。 =MIN(IF(AND(INT($A$1:$A$3/100)<=200610,INT($B$1:$B$3/100)>=200610),$C$1:$C$3,"")) としてCtrl+Shift+Enter ※200610の部分はセル参照してください。 ※最後の終了日付は99991231としてください。

takotan2
質問者

お礼

mshr1962さま レスありがとうございます。 >それと最後の終了日付の方が、1月で止まってるので2月,3月が表示できません。 大変失礼しました。サンプルデータの20070331を20070131と入力してしまいました。 コピペ+Ctrl+Shift+Enterすると、#VALUE となります。。。

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

すみませ~ん~♪ 式を訂正してください。 月をセル参照にするのを忘れましたので。。。 F1セルへ =MIN(IF(MONTH(TEXT($A$1:$B$3,"0000!/00!/00"))=E1,$C$1:$C$3,"")) 配列数式になります。 式をコピペしてから、 Ctrl+Shift+Enterキーで式を確定してください。。。 式が、{ }で囲まれます。 この式を下にコピーして下さい。 でした。。。Ms.Rin~♪♪

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

こんにちは~♪ こんな表の場合です     A       B       C  D  E  F 1  20061001  20061220  600   10 2  20061219  20070115  590   11 3  20070116  20070131  570   12 E列に月を入力しておきます F1セルへ =MIN(IF(MONTH(TEXT($A$1:$B$3,"0000!/00!/00"))=10,$C$1:$C$3,"")) 配列数式になります。 式をコピペしてから、 Ctrl+Shift+Enterキーで式を確定してください。。。 式が、{ }で囲まれます。 ご参考にどうぞ~。。。 。。。。Ms.Rinでした~♪♪

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

関連するQ&A

  • mysql+php 日付別料金データで最安値の取得

    お世話になっております。 phpで、mysqlに日付毎料金の月の最安値を求めたいのですが、方法が思いつきません。 mysql  データベース名:ryoukin フィールド名:from(varchar(8)) 20061001 フィールド名:to(varchar(8)) 20061220 フィールド名:tariff(varchar(8)) 600 ・サンプルデータです 20061001 20061218 600 20061219 20070115 590 20070116 20070331 570 欲しい答え 10月600 11月600 12月590 1月570 2月570 3月570 バージョンは社外の方に設定してもらっているのでよく分からないのですが、php2.??だったかと思います。 もし、カテゴリーがmysqlならば、再度投稿し直しますのでご指示下さい。 よろしくお願いします。 例2) A B C 20061001 20070115 300 20070116 20070117 400 20070118 20070331 570 欲しい答え 10月300 11月300 12月300 1月400 2月570 3月570 よろしくお願いします。

    • ベストアンサー
    • PHP
  • EXCEL VBA マクロ 日付

    こんばんわ。 EXCEL VBA マクロ の日付について質問があります。 セル"A1"で"年"(例:2008)、セル"B1"で"月"(例:5)を指定します。 C1からC500くらいまで(毎日増えていきます)日付が入っています。 A1、B1で指定した年月と同じC列の日付を 10桁スラッシュ区切りの形式(例:2008/05/15)で 右隣のセル(D列)にコピーしたいんです。 困ったことにC列は形式が決まっているわけではありません。 たとえば、2008年5月15日の場合、 ・20080515・2008年5月15日・2008.05.15・2008.5.15 ・2008/05/15・2008/5/15・08/05/15・2008-5-15 その他、いろいろ考えられます。 これをマクロでやるにはどうすればいいでしょうか。 毎月一回実行します。 日付の形式をチェックするところで やり方がわからなくて困っています。 よろしくお願いします。

  • EXCELで日付の表示

    お世話になります。 年月日のデータが3つのセルに分かれて入っており、   A   B   C   D   2005   5    1 Dのセルにつなげた日付表示をしたいのですが、 どのようにしたらよいのでしょうか。 ちなみに、セルDに「=CONCATENATE(A1,B1,C1)」と入れたら、 「200551」と表示されました。セルの表示形式を 「yyyy/m/d」としたのですが、変化なく、 セルEに「=TEXT(D1,"0!/00!/00")」と入れたら、 「20/05/51」となってしまいました。 もとデータのB列C列の表示形式を「00」にしてみましたが、 表示は「05」「01」となるのですが、セルD、Eに反映されないのです。 何か良い方法がありましたら、 教えてください。

  • Excelの日付関数

    いつもお世話になります。Excel2000勉強中の初心者です。 セルのA1に1月1日と入力したときB1のセルに2月1日、A1に2月1日と入力したときにはB1に3月1日、A1に12月1日と入力したときはB1のセルに1月1日といった具合にB1にA1の翌月の1日を表示させたいのですが、うまい方法はありませんでしょうか?なお、A1には各月の1日以外の日付は入力しません。 よろしくお願いします。

  • Excel VBA を使って 日付の表示

    お世話になります。VBAを使ってSQLDBからデーターの読込みを行っているのですが、読込まれたセルが日付やカンマ編集する方法が判りません。 どなたかHELPをお願い致します。  例) Sheet1 の A列 が日付          B列が 数字 宜しくお願いします。

  • Excelの日付について

    ある月の最初の日付をとA1に入力します そうすると自動的にB1にその月の最後の日付が表示されるには、どうしたらいいのでしょうか? 例) A1 2004/08/01    B1 2004/08/31 大・小の月で変わってきてしまうので、B1に「=A1+30」だと毎月は使用できません もし良い方法をご存知の方いらっしゃいましたら、教えて下さい

  • エクセルの日付について

    エクセルで翌日の日付を自動で更新するやり方を教えてください。 【例】 今日:2008年3月16日   1  2  3 A  2008年3月17日 B C 翌日:2008年3月17日   1  2  3 A  2008年3月18日 B C

  • エクセルで「日付」を表示する件

    エクセルで「日付」を表示する件 シート(1)の「A1」に「この事件は」の文字列。「B1」に書式を日付にして「平成22年8月1日」と入力。「C1」に「に起こりました」と入力。 複数のセルの文字列と日付を一つのセルに合わせて「この事件は平成22年8月1日に起こりました」のようにしたいので、「D1」に「=A1&B1&C1」と入力すると、「この事件は40391に起こりました」と表示されてしまいます。 解決方法を教えて下さい。 エクセルのバージョンは2002です。

  • 2つのセルを一つに・・しかし、日付のセルが数値に変わってしまう

    セルには     A        B      1 2005年5月   修正あり  と入力されています。 C1に、AとBに入っている文字をつなぎ合わせ、更に結合した部分を:で区切ろうと思い、C1セルに「A1&":"&B1」と入れました。 すると、C1に 36647:修正あり と出てしまいました。 日付が数値に切り替わっちゃったのですが、日付は日付で数値に切り替わらないようにする方法はありますか? 500行ぐらいあるので・・お願いします。

  • エクセル日付の引き算

    エクセルで入力されている日付A、日付けBの期間日数を計算する関数ありますか? 例:セルA3 2006/10/29 セルA4 2006/11/1 10/29 カら 11/1 の期間日数=3

お食事のお返しについて
このQ&Aのポイント
  • 都心のラグジュアリーホテルのラウンジのアフタヌーンティー招待券をもらったので、お返しのプレゼントは何がいいか悩んでいます。
  • 相手は子供の同級生のお母様で、仲良くなったお礼に一緒に出かけてアフタヌーンティーを楽しみたいと言われました。
  • 相手の趣味や好みがわからないため、価格帯や気遣いなどで選ぶのが良いでしょう。
回答を見る

専門家に質問してみよう