• ベストアンサー

エクセル関数で最新データだけを引く方法

エクセル関数で、最新データだけを他のbookに転記する方法を教えてください。 たとえば、以下の表がbook1にあります。 品物ID   納品日 りんご_2   2008/1/1 みかん_2   2007/12/4 みかん_3   2008/3/1 なし_2   2008/4/6 なし_4    2008/10/2 なし_5   2008/10/3 ぶどう_2   2007/11/26 ぶどう_3   2007/12/4 ぶどう_4   2008/4/9 ぶどう_5   2008/6/6 ぶどう_6   2008/10/4 ぶどう_7   2008/11/30 ぶどう_8   2008/12/1 各品物の最新納品日の「品物ID」を、もう1つのbook2にある以下の表に転記したいです。 例えばなしの場合、最新納品日が2008/10/3で、その日の品物ID:なし_5をを、book2の「品物」列にある全ての「なし」に対し、book1の品物IDを転記します。 品物  品物ID なし  なし_5 なし  なし_5 りんご りんご りんご ぶどう ぶどう ぶどう ぶどう みかん みかん 同様に、ぶどうの場合は「ぶどう_8」、みかんの場合は「みかん_3」をそれぞれの品物に転記する、という関数を知りたいのです。。 vlookupやDMAXなど試してはみたものの、どうしても上手く行きません。エクセル初心者なので、分かりやすい方法がありましたら、よろしくお願いします。

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

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

◆Book1      A     B 1   品物ID   納品日 2   りんご_2  2008/1/1 3   みかん_2  2007/12/4 4   みかん_3  2008/3/1 5   なし_2   2008/4/6 6   なし_4   2008/10/2 7   なし_5   2008/10/3 8   ぶどう_2  2007/11/26 9   ぶどう_3  2007/12/4 10   ぶどう_4  2008/4/9 11   ぶどう_5  2008/6/6 12   ぶどう_6  2008/10/4 13   ぶどう_7  2008/11/30 14   ぶどう_8  2008/12/1 ◆Book2 1   品物   品物ID 2   なし   なし_5 3   なし   なし_5 4   りんご  りんご_2 5   りんご  りんご_2 6   りんご  りんご_2 7   ぶどう  ぶどう_8 8   ぶどう  ぶどう_8 9   ぶどう  ぶどう_8 10   ぶどう  ぶどう_8 12   みかん  みかん_3 13   みかん  みかん_3 ◆Book2のB2の式 B2=INDEX([Book1]Sheet1!A$2:A$20,MATCH(MAX(INDEX(ISNUMBER(FIND(A2,[Book1]Sheet1!A$2:A$20))*[Book1]Sheet1!$B$2:$B$20,)),[Book1]Sheet1!B$2:B$20,0)) ★下にコピー

keipoc
質問者

お礼

出来ました!本当に有難うございます。 加えて質問したいのですが、この表は積み上げでデータが百単位で増えていくため、「A$2:A$20」のような「範囲」をセルではなく列で指定したいのですが、可能でしょうか?試してみたのですが、数式が正しくありません、になってしまいます。 よろしくお願いします。

その他の回答 (1)

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

> 「A$2:A$20」のような「範囲」をセルではなく列で指定したいのですが、可能でしょうか? 「A$2:A$65536」ではどうですか?

keipoc
質問者

お礼

なるほど、列を選ぶのと同じですね。どうも有難うございました!

関連するQ&A