[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『最後に入力した在庫を関数で抽出出来ませんか。』(ピョン)
Excel初心者です。
入力したデータより日付の新しい品名の在庫数量を抽出したいのですが、ご教授頂きたくお願い申し上げます。
例として
A B C D
月日 品名 単価 在庫
1 2/1 A 100 100
2 2/5 B 80 200
3 2/8 C 200 150
4 2/10 B 130 170
5 2/13 A 100 70
6 2/15 C 130 120
7 2/18 C 200 110
F G H I 1 品名 単価 在庫 月日 2 A 100 70 2/13 3 B 80 200 2/5 4 B 130 170 2/10 5 C 130 120 2/15 6 C 200 110 2/18
上記のH列(在庫数量)とI列(月日)の様に
関数で抽出出来ませんでしょうか。
誠に申し訳ございませんが、教えてください。
もし関数で不可であれば、別途マクロなどにてのお伺いをいたしたいと思います。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
結果のリストで BやCがなぜ2行あるのでしょうか?
>入力したデータより日付の新しい
この文章の意味があいまいなんですが、この文章のなかに 1行なのか複数行なのかの『カギ』が隠されているのでしょうか?
( β) 2017/02/26(日) 15:08
早速のご指導有難うございます。
<<結果のリストで BやCがなぜ2行あるのでしょうか?>>
のご指摘ですが、同じ品名(B・C)ですが、単価が異なりますので、区分上は別に分けて扱いたいと思っております。
以上よろしくお願い申し上げます。
(ピョン) 2017/02/26(日) 15:17
1)日付で降順に並べ替え
2)品名+単価を基準に重複の削除
(マナ) 2017/02/26(日) 15:20
早速のご指導有難うございます。
1)日付で降順に並べ替え
2)品名+単価を基準に重複の削除
御意見頂いた通りですが、日付での並べ替え、重複の削除をせずに、計算式(関数)での抽出を望んでおります。
御指導をお願い申し上げます。
(ピョン) 2017/02/26(日) 15:27
関数でもできるでしょうけど、データ行数によっては重くなるかもしれませんよ。 マクロでもいいということなのでマナさん提示の手順をマクロ記録すればいかがですか?
別シートへのコピペ、並び替え、重複削除 と、たった3つのコードで可能ですよ。 実行効率も瞬時といっていいくらい優れていますし。
( β) 2017/02/26(日) 15:33
早速のご指摘有難うございます。
御指導頂いた内容はごもっともと思いますが、データ数が2000行程度あり品名数量も100種類程度ありまして
出来れば計算式で処理したいと思っておりましたが、やはり計算式での処理は困難でしょうか。
再度の御指導お願い申し上げます。
(ピョン) 2017/02/26(日) 15:39
A列の日付は昇順ですか? つまり下に行くほど新しいと考えていいんですか?
だとして、F列とG列は入力済みであれば、
元表、1行目が見出しで、2行目からデータだとして、
H2 =IFERROR(LOOKUP(1,0/(($B$2:$B$2000=F2)*($C$2:$C$2000=G2)),$D$2:$D$2000),"")
I2 =IFERROR(LOOKUP(1,0/(($B$2:$B$2000=F2)*($C$2:$C$2000=G2)),$A$2:$A$2000),"")
I2の表示形式を「日付」にして下コピー
実際のデータ量で使い物になるかどうかはそちらで検証してください。 (笑) 2017/02/26(日) 15:57
F列とG列が入力済みということであれば、数式処理も妥当だと思います。 もし、F列、G列も自動生成ということであれば、ここだけは コピペして、重複の削除処理で作り出したほうが 重くならなくていいと思います。
( β) 2017/02/26(日) 16:02
早速のご指導有難うございます。
<<A列の日付は昇順ですか?>>
<< つまり下に行くほど新しいと考えていいんですか?>>
御指摘の通り下に行くほど新しいデータとなります。
サンプルで試行して見ましたが完璧でした。
Lookup関数についてもう少し勉強してみます。
大変有難うございました。
今後ともよろしくお願いいたします。
(ピョン) 2017/02/26(日) 16:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.