• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:入出庫帳から部品の最新の入庫価格を抽出したい)

入出庫帳から部品の最新の入庫価格を抽出する方法

このQ&Aのポイント
  • 在庫管理のために、入出庫帳から部品の最新の入庫価格を抽出する方法について教えてください。
  • 入出庫帳ファイルには、商品コードと入庫日、仕入単価が記録されています。商品コードごとに複数の入庫日があり、最新の仕入単価を取得したいです。
  • 抽出したいのは、入庫日が最新の仕入単価です。入出庫帳ファイルから条件に合うデータを抽出する方法を教えてください。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 済みません、回答No.1の回答は間違っていました。  同じコードを持つ商品が1日の内に複数回入庫した場合に、同じ日に入庫したものについては仕入れ単価が必ず同じになるという前提があれば次のような関数になります。(A1セルに商品コードを入力する事で「最新の仕入れ単価を抽出したい抽出商品コードを」指定するものとします) =SUMIFS($J:$J,$D:$D,$A$1,$N:$N,"入庫",$P:$P,MAXIFS($P:$P,$D:$D,$A$1,$N:$N,"入庫"))/COUNTIFS($D:$D,$A$1,$N:$N,"入庫",$P:$P,MAXIFS($P:$P,$D:$D,$A$1,$N:$N,"入庫"))

techhouse
質問者

お礼

回答頂きありがとうございます。 値の抽出ができていることを確認しました。 大変助かりました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

[当面している課題のパターン化」ができるようになること。 そして大前提がエクセル関数の利用らしい。質問に景気すべき。 元々(本件は仕事でやることらしいから)ACCSESSのVBAでも使うべき課題だろう、と思うが。 本件では、「同一商品(商品でなくても良い)のうち、入庫日(注文日?)の一番新しい行を見つける」ということになろう。生徒の科目テスト(複数日あり)の実施成績の最近の点数を知るも同じ。 エクセルでは一番新しい(最後とか最近)とは、同一範疇で、日付の(セルの)値が一番大きいと考えればよいのだ。 エクセルの日付の捉え方の、日付シリアル値という考えから、そうなる。 ーー 下記は配列数式を使っているので、余り良いとは言えないが、WEBで他の方法(関数)を探してみてください。2019以後なら、すっきりした、関数での方法がある。(質問に、使用しているエクセルバージョンも書いてない。) 他ブックや他シートのデータ参照ならそれなりの番地指定の書き方が必要.下記は同一シート。 この点も質問に明示してないようだ。 例データ A1:商品 仕入れ日 リンゴ 2023/2/1 リンゴ 2023/3/2 イチゴ 2023/2/14 イチゴ 2023/2/26 柿 2023/2/16 梨 2023/3/19 柿 2023/3/8 梨 2023/3/30 リンゴ 2023/2/18 イチゴ 2023/3/12 柿 2023/3/4 リンゴ 2023/3/31 ーー E2:E5に(手入力で) 梨 リンゴ イチゴ 柿 とあるとすると、 F2に式 =MAX(IF(E2=$A$2:$A$13,B$2:B$13) と入れて、SHIFT+CTRL+ENTERを同時押しする。配列数式。 式をF5まで複写。 結果 E2;F5 梨 2023年3月30日 リンゴ 2023年3月31日 イチゴ 2023年3月12日 柿 2023年3月8日

techhouse
質問者

お礼

回答頂きありがとうございます。 もう少しINDEX関数とかMATCH関数の勉強したいと思います。 助かります。

  • yamada82
  • ベストアンサー率28% (15/53)
回答No.2

A1からP4までデータがあると仮定して、 P列の日時を新しい順に並べ替えてから、 =INDEX(A1:P4,MATCH("88ant2000",D1:D4,0),16) という方法もあります。 ちょっと強引ですが。 MATCH関数で指定文字が一番最初にくる行を、 16はA列から16番目=P列を参照させてます。

techhouse
質問者

お礼

回答頂きありがとうございます。 日時を並び替えておけばシンプルな式で済みそうですね。 活用させて頂きます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、A1セルに商品コードを入力する事で「最新の仕入れ単価を抽出したい抽出商品コードを」指定するものとします。  ExcelのバージョンがExcel2019以降であれば次の関数で最新の仕入れ単価を抽出出来ます。 =LOOKUP(MAXIFS($P:$P,$D:$D,$A$1),$D:$J,7,FALSE)

関連するQ&A