プロが教える店舗&オフィスのセキュリティ対策術

最新の日付をVLOOKで検索するにはどうしたらよいでしょう?
たとえばエクセルAのシートを参考にしてエクセルBに検索地を
顧客NOにして日付をVLOOKしたとします。
このとき、顧客NOは同じで複数日付があるのですが、検索されるのは一番古い日付です。私がヒットさせたいのは最新の日付なのですが、何か良い方法はないでしょうか?(最新の日付を一気にとりだせるのなら別にVLOOKじゃあなくてもよいです「)

エクセルAのデータ
顧客NO 日付
1234 2007/3/4
1234 2008/3/4
7788 2007/4/5
7788 2008/5/4
9988 2008/4/5
9988 2008/5/8

A 回答 (5件)

顧客NOを第一キーで並べ替えてるみたいだけど、そのときに日付を


第二キーで降順に指定すると、同じ顧客NOの中では最新の日付が上
にくるよね。そうしたら探し方は今と同じで、希望通りの値が返っ
てくるんじゃないかな。

表を全く並べ替えないとしたら、
=max(index((顧客NOの範囲=検索値)*日付の範囲,0))
みたいな手口を使うけどね。
    • good
    • 7
この回答へのお礼

ありがとうございます。すばらしい回答にただただ感謝感激です。早速実践します。

お礼日時:2009/03/18 20:17

一例です。


>最新の日付を一気にとりだせるのなら
⇒この条件が良く分かりませんが、同一顧客NO内で最大日付(最新)を抽出します。
 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
 =MAX(IF(A2:A7=顧客NO,B2:B7,""))
    • good
    • 2
この回答へのお礼

ありがとうございます。質問がわかりにくくてすみません。
でもおかげで解決しました☆

お礼日時:2009/03/18 20:25

他の回答者から回答がでていますので解決すると思いますが・・



>検索されるのは一番古い日付です
例題は、顧客NOを第一キー、日付を第二キーで
昇順並べ替えてるみたいなので


VLOOK関数で出来ませんか?
(第四引数をTRUEにして・・・)
但し該当する顧客NOがない場合は配慮が必要です

参考までに
    • good
    • 0
この回答へのお礼

ありがとうございます。並べ替えを間違えてやっていておかしくなってました。早速もう一度ためしてみます。

お礼日時:2009/03/18 20:22

最新の日付のみであれば


=MAX(INDEX((顧客Noセル範囲=顧客No)*日付セル範囲,0)
で出せます。

該当行の取り出しであれば
=SUMPRODUCT((顧客Noセル範囲=顧客No)*(日付セル範囲=MAX((顧客セルNo範囲=顧客No)*日付セル範囲))*ROW(日付セル範囲))

で取り出し可能。
    • good
    • 1
この回答へのお礼

ありがとうございます。こんな変な質問にもかかわらず的確な回答を下さり感謝いたします。さっそく実践します

お礼日時:2009/03/18 20:20

=INDEX($A$2:$A$10,MATCH(MAX($B$2:$B$10),$B$2:$B$10,0))

    • good
    • 1
この回答へのお礼

ありがとうございます。早速実践します。

お礼日時:2009/03/18 20:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A