- ベストアンサー
エクセルで、直近10件のみ抽出。
よろしくお願いいたします。 千件のデータがエクセルに入っています。 ちなみに、果物屋さんの売上データとします。 銘柄で、検索(オートフィルタ)をかけます。そうすると千件もありますので、何百件のデータを拾います。 季節もので、いちごとかは、もう今では、市場に出回っていないので、売れていませんから、データには、残っていません。が、3月、4月には、売れたデータが残っているので、たとえ3件、4件でもいいので、抽出して欲しいのです。 また、季節に関係なく売れるものもありますから、それは、反対に何百件と抽出されます。がしかし、今現在の日付の直近の10件のみを抽出したいのです。そのような事は、出来るのでしょうか。 エクセルVBAを使わなければ、無理でしょうか。
- みんなの回答 (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列の日付は昇順になることが、この式の前提です。 実際のシートやデータ構成が分からないので具体的なアドバイスはできませんが、参考になりませんか?
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
ご質問を読んでも意味が解りませんでした。 オートフィルタで「いちご」を抽出しているのに5月以降は抽出されるが、3~4月分が抽出されないって意味? 具体的にどんなデータ構成になっていて、どういう結果を得たいのか書かれた方が良いかも。
お礼
質問の内容不足ですみませんでした。 興味を持ってお答えして下さっただけでも感謝です。 ありがとうございました。
補足
すみません。不足してましたね。混乱させてしまいました。 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件のみを抽出したいのです。 また、”いちご”と抽出させると数件しかありません。それは、それでよいのです。 という事なのですが。 質問の不足ですみません。
お礼
ありがとうございました。出来ました。 オートフィルタという概念を捨てなければ、 ならないんですね。 ありがとうございました。