• ベストアンサー

Excel関数で指定した日付の間の数値を取得し

エクセルに以下のようなデータがあります。 A列    B列      C列 2012/4/1 2013/3/31 100 2011/4/1 2012/3/31 90 2010/4/1 2011/3/31 82 2009/4/1 2010/3/31 70 2008/4/1 2009/3/31 60 その場合に、2011/5/1と入力したらその隣の列に90 2010/6/15と入力したらその隣の列に82と表示する関数を 作りたいのですが、どのようにしたら良いのでしょうか? 検索したら、Vlookupを使えばできるのかなーと思ったのですが、 どうにもうまくいきません。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

エクセルはあまり使わないのですが… ご提示の例で、A~C列の1~5行にデータがあって、日付は全て日付形式で入力されていて、日付の範囲が重複することはないものと仮定します。 例えば日付を入力するセルをD1として、E1に式  =SUMPRODUCT((A1:A5<=D1)*(B1:B5>=D1)*(C1:C5)) を入力するのでどうでしょうか?

douguya77
質問者

お礼

ありがとうございます。 SUMPRODUCTという関数の意味が分かりませんが、回答のとおり 入力したら、出来ました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

A列の日付のデータが降順に並べられているときにはVLOOKUP関数を使うことができません。MATCH関数を取り入れることで可能となります。 例えばE2セルに日付を入力するとしてF2セルにC列のデータを表示させるとしたら次の式をF2セルに入力すればよいでしょう。 =IF(OR(E2>MAX(A:A),E2<MIN(A:A)),"",INDEX(C:C,MATCH(E2,B:B,-1)))

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

その表を昇順(小さい数が上)に並び替えましょう。 A1:C5を選択した状態で昇順に並び替えればよいです。 そうすれば、Vlookupで出来ます。 日付の入力セルをA10と、した場合↓こうなります =VLOOKUP(A10,A1:C5,3,TRUE)

douguya77
質問者

お礼

ありがとうございます。 並び替えておけばVLOOKUPで出来るんですね。

関連するQ&A

  • 文字の表示を変える関数、日付入力の関数

    タイトルの件、質問いたします。 下記の画像をご覧ください。 【やりたい事1】 データ先ファイルのB列に、番号を打ち、C列、D列にデータを表示させた時の 日付を、A列に自動で入るようにしたい。 例:B2に、01と入力した日付を、A2に自動で入るようにしたい 【やりたい事2】 D列に表示させている、100、200を 100の場合は⇒あいうえお 200の場合は⇒かきくけこ とデータ先ブックのD列に表示させたい 【その他】 B列とC列には、下記の関数が入っています。 【B列】 =VLOOKUP($B2,[データ元.xls]Sheet1!$A$2:$C$4,2,FALSE) 【C列】 =VLOOKUP($B2,[データ元.xls]Sheet1!$A$2:$C$4,3,FALSE) 以上、ご存知の方は、宜しくお願いします。 【エクセルバージョン:2003】

  • 日付の関数について

    Sheet1に以下のデータが入っています。 A B 1 2000/1/27 2000/2/25 2 2000/2/26 2000/3/27 3 2000/3/28 2000/4/25 とA列がFrom、B列がToという意味合いでずっとデータが入っていますが、Sheet2のA1に年月日を入れると隣のB1にA1の年月日が含まれるSheet1のB列の日付を返したいのです。 (例:Sheet2のA1に2000/3/15と入力すると、B1に2000/3/27と表示されるようにしたい) どんな関数を使用すればいいのでしょうか?

  • Excel関数について(初級者)

    例えば以下の表データがあり、    A   B  1 数字  記号 ←タイトル行 2  1   a 3  2   b 4  3   c A行のある数字を入力するとB行の同じ列の記号を表示させるのは(入力欄をC2、結果表示セルをD2として) D2に VLOOKUP(C2,A2:B4,2) でうまくいきました。つまり2を入力するとbという答えです。 でも逆にB行のある文字を入力するとA行の同じ列の数字を表示させるのに(入力欄をC3、結果表示セルをD3として) D3に VLOOKUP(C3,A2:B4,1) つまりcと入力すると3の答え でやってみたが#N/Aのエラーがでてうまくいきません。 間違った点のアドバイスをお願いします。

  • EXCEL関数 数値○○○.○○○○を二つに分類したい

    タイトルにも書きましたが、エクセルシートで○○○.○○○○という、途中コンマで区切られた7桁の数値を入力すると、二つに分類し、分類に応じた文字列が表示されるようにしたいのです。  367.2000 と入力すると A  456.3010 と入力すると B といった感じです。 分類する数値は355番台はA、340番台はBといったように、ある程度まとまりはあります。 IFとVLOOKUPの組み合わせで、ある数値を入力すると決まった文字列が出るようになる関数はわかるのですが、7桁全部を入力して分類、という関数(の組み合わせ)があればと思い質問させていただきました。 拙い文章で申し訳ありません。補足が必要でしたらおっしゃってください。 よろしくお願いいたします。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • Excel関数について

    Excelのバージョン:[2010] みなさん、お世話になります。 リストデータを作成したのですが、入力セルに文字を入力した時に、リストデータの中から該当するコード番号を出力する方法が判りません。 例:A1に"重機"などと入力した時に、B1のセルが、文字列"A00123"に変わる。また、重機と名前が入っているコード番号が全て表示されるようにしたいのですが・・・。 自分のスキルの無さ、理解力の乏しさに情けなくなります。しかし、差し迫ってくる時間があり質問をさせていただきました。みなさんのお知恵をお借りしたく思います。 コード番号|品目 A00123 |重機 A00132 |重機や・・・ お忙しいとは思いますが、何卒よろしくお願いいたします。 補足 先ほど、VLOOKUPという関数を使い行いましたが、やはりダメでした。 =VLOOKUP(G3,B2:C192,1,1) 文字を入力すると違うコード番号が表示され、かつコード番号が下一桁表示されませんでした。 A0012・・・という具合でした。

  • excel関数教えてください。

    表にしてあって、A列には任意の数字がはいるようなってます。関数はB、C、D列に使いたいのですが B列:Aを3で割り小数点以下に.666が出たときには整数に2を足して、.333の場合は整数に1を足して表示したい。 C列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り捨てたい D列:Aを3で割り小数点以下に.666か.333の場合小数点以下を切り上げたい 例としては   A   B   C   D 1 10,000 33,334 33,333  33,333 2 20,000 66,668 66,666  66,666 上のような表です。Aに入る数値はいろんな 数値があります。関数に該当しないものは 3で割った数字をそのまま表示したいです。 宜しくお願いします。

  • エクセルの日付関数について教えてください。

    エクセルの日付関数について教えてください。 A列には日付が入力されています。 B列には金額が入力されています。 C列にも日付が入力されています。 A1に入力された日付(例:2010/4/30)とC1に入力された日付(例:2010/4/30)が同じ日付のときだけ、B列の金額を抽出しD10に合算させたいと考えています。 ***【サンプル】*****************************    A   B   C   D 1 4/30  100  4/30 2 4/30  200  4/30 3 5/1   100   4 5/2   200  5/2 5 5/2   100  5/2 6 7 8 9 10            同じ日付(1)の合計 11            同じ日付(2)の合計 ******************************************* 上記の場合のD10やD11の関数は、どのような関数に すべきでしょうか? どなたかご教授をお願い致します。 【環境】 WindowsXP Pro Excel 2003

  • excel関数

    excelで作成した表のなかで a列には各コードが入力 b列は文字列 c列は数字 別にシートを作りコード順に 最小値と最大値、平均を求めたい b列に文字が入っていないデータを探して、別シートに入力したa列コードと一致するデータをc列から探し(複数データあります)その中で更に最小値と最大値、平均を求めたいのですが 関数が分かりません。 教えていただけば助かります。 よろしくお願いします。