• ベストアンサー

検索するときに新しい日付のデータを検索したい

型番123の資材番号を検索した時に開始日の一番新しい資材番号を検索できる関数が組めなくて困っています。 Vlookでやると先頭の資材番号が検索結果ででてきます。   A  B      C 1 型番 開始日   資材番号 2 123 2016/12/1 UN5054A 3 123 2017/4/1 BB5055A 4 123 2017/4/26 AA5056A よろしくお願いいたします。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>Vlookでやると先頭の資材番号が検索結果ででてきます。 「Vlook」と言う組み込み関数はありません。 E2セルへ検索型番を入力したものとして F2=VLOOKUP(E2,A:C,3,FALSE) → UN5054A     ↓ F2=IF(COUNTIF(A:A,E2),VLOOKUP(MAX(IFERROR((A:A=E2)*B:B,0)),B:C,2,FALSE),"") → AA5056A これは配列数式なので数式の確定時にCtrl+Shift+Enterの打鍵が必要になります。

その他の回答 (4)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

データベース関数を使ってみては? E1:G1に型番、開始日、資材番号 と入力しておきます。 E2には検索したい型番(今回の場合123)を入力 F2には=DMAX(A:C,F1,E1:E2) ←型番の最新開始日 G2には=DGET(A:C,G1,E1:F2) ←E1:F2を検索条件に資材番号を検索 ただし、同じ型番で同じ開始日が複数ある場合は検索できません。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

>検索するときに新しい日付のデータを検索したい まず、その番号の日付の最大値を求めればいいのでは? E2="123" として E3=SUMPRODUCT(MAX($A$2:$A$100=$E$2)*($B$2:$B$100))) これで、"2017/4/26"のシリアル値が入ります。 A列とB列を結合した列をC列として挿入すれば E4=VLOOKUP(E2&E3,C:D,2,FALSE) で資材番号が求められます。

  • NuboChan
  • ベストアンサー率47% (745/1583)
回答No.2

型板で検索した情報を何処か別のセル又はシートに書き込んだ後で それを更に開始日でソートすれば良いのでは? 汎用にするのであれば自動マクロで仮マクロを取得後に それを元に改造すれば良いと思います。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

以下の式で検索してみて下さい。 =VLOOKUP(D2,A:C,3,TRUE)

関連するQ&A

  • エクセルの条件検索

    行の先頭の値を返すには エクセル関数をどのようにつかったらよいのでしょうか? たとえば CC1を検索すると Bが表示されるようにしたいのですが A AA1 AA2 AA3 AA4 B BB1 BB2 CC1 D BB4 AA5 この表には同じ値は絶対ありません。 VLOOKUPなど LOOKUPを主に検索をしてみたのですが、わかりませんでした よろしくおねがいいたします。

  • Excel関数で、複数条件を検索して値があれば○

    Excel関数の質問です。 シートAは貸出台帳で、シートBは返却台帳です。 貸出台帳に入力されているコードが、返却台帳にあれば、 貸出台帳の確認に○を表示したいです。 ややこしい点としては、返却台帳には以前返却された履歴(例えばAAが二つ)が 入力されているため、貸出した日付以降のコードのみを検索するようにしたいです。 シートAに、下記のような値があります。   A    B    C    1 貸出日 コード 返却確認 2  1/1   AA          ←ここには関数で○を入れたい 3  1/2   BB          ←ここは× 4  1/3   AA          ←ここは○ シートBには下記のような値があります。   A    B 1 返却日 コード 2 1/1   BB 3 1/2   AA 4 1/3   AA この場合、どのような関数を入力すればよいでしょうか?

  • エクセル データベースからの検索について

    エクセル データベースからの検索について 商品名・商品番号・在庫といったデータベースがあります。 検索する別の場所を設けそこで商品番号をたたくと商品名と在庫が表示できるようにVLOOKUPでしました。 商品番号がわからない場合があるので商品名から検索できるようにしたいのですが 商品番号からの検索と同じ関数では「#N/A」となってしまいました。 文字での検索の場合はどのような関数になるのでしょうか?         B2商品番号入力   C2検索結果表示(商品名) D2検索結果表示(在庫数)         B3商品名入力    C3検索結果表示(商品番号)D3検索結果表示(在庫数)  A10商品番号  B10商品名     C10在庫数   :       :         : としてC2には =VLOOKUP(B2,A10:C100,2,FALSE) とし正しい結果が表示されます。 商品名から検索したいC3にも同様のものをいれましたが表示されません。 よろしくお願いします。     

  • 検索したい日付からデータを抽出したい。

    こんにちわ。 キャンペーンが何日~何日までどういった内容がある、という一覧を作成しています。 Aの列が開始日、Bの列が終了日、Cの列がキャンペーン内容、です。 検索したい日付をD1のセルに入力したら、その日付に該当するキャンペーンすべてを別のシートに抽出できないでしょうか・・・ オートフィルタで抽出は出来るのですが、日付を入力しただけで抽出 させたいのですが、無理でしょうか・・・ よろしくお願いします。

  • 3つの連想配列を交互に代入して、新しい連想配列を作りたい

    PHP Version 5.1.6を使っています。 それぞれの連想配列を先頭から順番に交互に代入したいのですが、 どのようなプログラムでできるのでしょうか? $arr1 = array(a1=>"aa1", a2=>"aa2", a3=>"aa3"); $arr2 = array(b1=>"bb1", b2=>"bb2", b3=>"bb3"); $arr3 = array(c1=>"cc1", c2=>"cc2", c3=>"cc3"); 代入後 $new_arr = array(  a1=>"aa1",  b1=>"bb1",  c1=>"cc1",  a2=>"aa2",  b2=>"bb2",  c2=>"cc2",  a3=>"aa3",  b3=>"bb3",  c3=>"cc3", );

    • ベストアンサー
    • PHP
  • 頻度の高い行を抽出

    エクセルの関数について質問させてください。 例えば以下の表があるとします。 名前   更新日 AA 2014/2/10 AA 2014/2/10 AA 2014/2/26 AA 2013/12/10 BB 2014/2/1 BB 2014/1/17 BB 2014/2/1 以下の抽出結果のように、各名前ごとに更新日の頻度が多いものだけを抽出するための 関数などありましたら教えてください。 よろしくお願いいたします。 <抽出結果> 名前 更新日 AA 2014/2/10 BB 2014/2/1

  • エクセル 一致項目を基準にデータを合わせたい

    特定の1項目を一致させ、2つのシートのデータを一つにまとめたいのですが、エクセル初心者にもできる方法があったら教えてください。行数は20000件位です。列は10列程度です。 番号   あ   い   う 1001  aa   bb    a 1002  sd   bb    sd 1003  aa   bb    aa 1004  sd   bb    sd 1005  aa   bb    aa 番号   か    き 1002  abc   bbs 1004  sdb   gds 1005  aab   bba を、まとめて 番号  あ   い    う     か   き 1001  aa   bb    a 1002  sd   bb    sd   abc   bbs 1003  aa   bb    aa 1004  sd   bb    sd   sdb   gds 1005  aa   bb    aa   aab   bba といったように番号行数(2万件位)が多いデータを 番号を一致させてまとめたいのです。初心者にもできる簡単な方法があったら教えていただけると大変助かります。

  • エクセル、日付別に複数検索値からデーターを表示(VLOOKUP)させるには?

    資材部門に働いておりますが、月または週毎に独自で納品チェック表作成にVLOOKUP関数等を用いております。下記のような構成でデーターベースがあるのですが、日々、変更変動が激しく、該当日の車種のタイヤとその番号を表示させたいのですが、今までは日付を無視できたのですが、日付毎に分けなくてはならなくなり、上手くいかなくなりました。      A    B     C    D     1 日付   車種   部品   番号  2 4/3  ムーヴ  タイヤ  BS1  3 4/3  ムーヴ  タイヤ  TY2  4 4/3  タント  タイヤ  DL1  5 4/3  タント  タイヤ  BS2  6 4/3  エッセ  タイヤ  YH1  7 4/3  エッセ  タイヤ  YH2  8 4/4  タント  タイヤ  BS3  9 4/4  ムーヴ  タイヤ  DL3 10 4/5  ミ ラ  タイヤ  BS2 11 4/5  ミ ラ  タイヤ  BS1 12 4/5  エッセ  タイヤ  DL1 13 4/5  タント  タイヤ  TY2  ↓  ↓    ↓    ↓    ↓  従来は、この表からタイヤの番号を導くため、  =VLOOKUP(B2&C2,B2:C10000,3,0)の式を基本にIFなどをアレンジを加えて何とか、導けていましたが、日付が加わったのでどうすれば良いでしょうか?  VLOOKUP関数は同じ検索値だと最初の行だけが抽出されると言うのは知っています。  上記の表の構成で○月○日の○○車種のタイヤの番号を完全一致で表示させるにはどのような式を立てればよいでしょうか?私は時刻日付関数は苦手で、表示形式なども絡み、どうも理解が出来ておりません。  参考書をヒントに考えているのですが、IF,COUNTIF,INDEX,ROW,CORMINなどが複合されて長い式になり、頭で整理が付きません。  どなたか、教えていただけないでしょうか?  

  • エクセルでのデータ抽出について

    こんにちは!関数初心者です・・・。 どうしてもできなくて教えていただきたいのですが、たくさんのデータの中から一致するデータを表示したいのです。 下記のようなデータがあったとき、検索する文字列を入れるセルをA1とします。検索結果をB1に表示したいのです。 たとえば品目にある「鉛筆」の商品ID「AA-001」を探したいとき、セルA1に「鉛筆」と入力したら、セルB1に「AA-001」と表示したいのですが、どうしてもうまくいきません。 商品ID 業者NO 科目 品目 単価 AA-001 スズキ100 文具 鉛筆 100 AA-002 スズキ200 文具 ノート 200 BB-001 タナカ100 食品 卵 100 BB-002 タナカ200 食品 チーズ 200 CC-001 サトウ100 衣類 シャツ 100 CC-002 サトウ200 衣類 スーツ 200 どなたかおわかりになりましたら教えてください!! よろしくお願いいたします!

  • 複数データを検索して同じデータは”有”と表示する

    B表に設定した4桁の数字データが複数あります。A表のA列に4桁の数字データが80個表示されています。A列を検索して、B表と同じ数字データがあった場合はA表のB列に”有”と表示する表を作成しようと考えています。 一つのデータと同じものを検索して表示することはVLOOK関数などでできるのですが、複数のデータと同じものを複数の中から検索して該当するものだけを”有”と表示する関数がよくわかりません。 困っています。ご教授下さい。

専門家に質問してみよう