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

得意先毎に商品の最新単価表を作成したく、質問です。
過去の売上履歴は、弥生会計からExcelに抽出したものです。
A列に得意先名(複数あり)、B列に複数の商品名(重複あり)、C列にB列に対する単価、D列に売上日、となっています。

それぞれの得意先の商品に対して、直近の最新単価のみを拾い出すには(その他は削除)どのような方法がありますか?
教えてくださいm(_ _)m

A 回答 (4件)

前提条件として「同じ日、同じ商品、同じ得意先であれば異なる単価で販売することはない」ものとします。


もし、異なる単価で販売することもあるとすると「最新単価」を特定することができなくなってしまうからです。

ご質問者のEXCELのバージョンが不明なので、UNIQUE関数やFILTER関数が使えないバージョンでも機能する数式をご案内することにします。

添付画像をご覧ください。
まず、得意先名と商品名の組合せで、ユニークなものを抽出する必要があります。ご質問者の説明のとおり、A列~D列に元のデータがあるとして、G列~I列に得意先名、商品名、最新単価を抽出するものとします。
G2セルに

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$12)/(COUNTIFS(OFFSET($A$2,0,0,ROW($A$1:$A$11),1),$A$2:$A$12,OFFSET($B$2,0,0,ROW($A$1:$A$11),1),$B$2:$B$12)=1),ROW(A1))),"")

を入れて、H2にコピーし、G2、H2を纏めて下方向へコピーしています。
これで、得意先名と商品名のユニークな組合せが抽出できます。

さらに、I2セルに、

=IFERROR(INDEX($C$2:$C$12,MATCH(G2&H2&AGGREGATE(14,6,$D$2:$D$12/($A$2:$A$12=G2)/($B$2:$B$12=H2),1),INDEX($A$2:$A$12&$B$2:$B$12&$D$2:$D$12,0),0)),"")

を入れて、下方向へコピーしています。
これで、得意先名と商品名の組合せに対応する最新単価が表示されます。
「得意先毎に商品の最新単価表を作成したく、」の回答画像4
    • good
    • 0

No2です。


No2の作業を行わずに、もっと簡単にやりたいということであれば、マクロを登録し、その呼び出しになります。
マクロにボタンを割り付ければ、ボタンクリック一回で、
得意先毎の商品の最新単価表が作成できます。
    • good
    • 0

1.並べ替えを行います。

(ソート)
下記項目を指定します。
①得意先・・・昇順
②商品・・・・昇順
③売上日・・・降順(新しい順)

2.重複の削除を行います。
下記列を選択します。(チェックを入れます)
①得意先
②商品

これで完了です。
日付が最も新しい、重複無しの得意先、商品が取得できます。
ソートと重複削除の方法は、下記URLを参考にしてください。

添付図の画像は、左から順に、ソート前、ソート後、重複削除後
になっています。黄色の行が、取得対象となる行です。

ソート(並べ替え)
https://support.microsoft.com/ja-jp/office/%E8%A …

重複削除
https://www.pc-koubou.jp/magazine/51958
「得意先毎に商品の最新単価表を作成したく、」の回答画像2
    • good
    • 0

V lookupまたは、x lookup関数を使えば簡単に出来ます。

    • good
    • 0

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

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


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