• ベストアンサー

エクセルで、直近10件のみ抽出。

よろしくお願いいたします。 千件のデータがエクセルに入っています。 ちなみに、果物屋さんの売上データとします。 銘柄で、検索(オートフィルタ)をかけます。そうすると千件もありますので、何百件のデータを拾います。 季節もので、いちごとかは、もう今では、市場に出回っていないので、売れていませんから、データには、残っていません。が、3月、4月には、売れたデータが残っているので、たとえ3件、4件でもいいので、抽出して欲しいのです。 また、季節に関係なく売れるものもありますから、それは、反対に何百件と抽出されます。がしかし、今現在の日付の直近の10件のみを抽出したいのです。そのような事は、出来るのでしょうか。 エクセルVBAを使わなければ、無理でしょうか。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

質問が良く理解できませんが、こんなことなら可能です。   A列  B列   C列 1 日付  品名   数量 2 7月1日 だいこん  12 3 7月1日 にんじん  14 4 7月2日 なす    16 5 7月2日 かぼちゃ  18 6 7月3日 みかん    20 7 7月3日 セロリ    22 のようなシートがあったとき、E1に履歴を検索したい品目名(たとえば かぼちゃ)を入力。 そしてE2~E6には 1~5の数字を入力する そしてF2には  =INDEX($A$2:$A$1000,LARGE(IF($B$2:$B$1000=$E$1,ROW($B$2:$B$1000),0),$E2)) をペーストして Shift+Ctrl+Enter で入力 またG2には  =INDEX($C$2:$C$1000,LARGE(IF($B$2:$B$1000=$E$1,ROW($B$2:$B$1000),0),$E2))  をペーストして Shift+Ctrl+Enter で入力 最後にF2:G2を下の行にコピーする。そうすると かぼちゃ  日付    数量 1     2006/7/25   13 2     2006/7/15   17 3     2006/7/13   15 4     2006/7/11   33 のように直近n回分の取引日付、数量が表示できます。 ただし元データA列の日付は昇順になることが、この式の前提です。 実際のシートやデータ構成が分からないので具体的なアドバイスはできませんが、参考になりませんか?

jimopi
質問者

お礼

ありがとうございました。出来ました。 オートフィルタという概念を捨てなければ、 ならないんですね。 ありがとうございました。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ご質問を読んでも意味が解りませんでした。 オートフィルタで「いちご」を抽出しているのに5月以降は抽出されるが、3~4月分が抽出されないって意味? 具体的にどんなデータ構成になっていて、どういう結果を得たいのか書かれた方が良いかも。

jimopi
質問者

お礼

質問の内容不足ですみませんでした。 興味を持ってお答えして下さっただけでも感謝です。 ありがとうございました。

jimopi
質問者

補足

すみません。不足してましたね。混乱させてしまいました。     A   B   C   1 日付 銘柄 売れた数    2 1/5 いちご  10個   3 1/6 メロン  8個   4 1/6 いちご  20個      ・・  352 7/7 メロン  4個  353 7/8 すいか  6個  354 7/8 パイナップル8個  355 7/9 メロン  3個 となっていた場合、もし、メロンで、オートフィルタをすると、  3  1/6 メロン  8個      ・・  352 7/7 メロン  4個  355 7/9 メロン  3個 となり、メロンは、通年販売されるものなので、何百件のデータとなります。それを直近(日付の今と近いもの)の10件のみを抽出したいのです。 また、”いちご”と抽出させると数件しかありません。それは、それでよいのです。 という事なのですが。 質問の不足ですみません。

関連するQ&A