- ベストアンサー
エクセルで2列の順序が違うデータの照合方法
エクセルで約6000行くらいの在庫データがあります。 それぞれの行に、 1列目に商品番号があり、2列目に個数が記してあります。 そして、3列目に1列目とまったく同じ商品番号があり、4列目に単価が入っています。 ただし、1列目の商品番号と3列目の商品番号は順序がバラバラです。また1列目は登録上マスタデータなので、3列目の実棚在庫商品番号よりも量が多いです。 上記の状態で、1列目のデータと3列目のデータを照合し、 2列目の個数と4列目の単価をかけて、在庫の合計金額を知りたいのですが、可能でしょうか? もし説明不足等ございましたら追加でご説明いたしますので、 何卒力を貸して下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
おそらく順番に並んでいないであろう事と、エラー時は0として集計できるように改修してみました。 参考まで。。 =IF(ISERROR(INDEX($B$2:$B$10,MATCH($C5,$A$2:$A$10,0),1)),0,INDEX($B$2:$B$10,MATCH($C5,$A$2:$A$10,0),1)*$D5)
その他の回答 (4)
- mjsamiasan
- ベストアンサー率57% (55/95)
【データ】→【区切り位置】のウィザードで列の表示形式を「標準」にしてみてだめですか?
補足
データ→区切り位置のウィザードを利用したところ、 エラーではなくて、数字は出てきました。 しかし計算が合わないです。
- mjsamiasan
- ベストアンサー率57% (55/95)
#N/Aエラーでしょうか? 全ての行にでますか? マスタにない番号が在庫にあったりしますか? 商品番号に空白が含まれていませんか? 型が数値と文字とか? どうでしょうか? (※棚商品側のダブりは大丈夫だと思いますよ。)
補足
>#N/Aとエラーが出ます。 >コピーしてみたところ全ての行に出ます。 >マスタにない番号が在庫にある可能性はあります(その場合でも全てエラーになりますか?) >商品番号に空白は含まれておりません(全て削除してあります) >型はJANコードを使っていますので数値だけです。 ややこしくて申し訳ありません。
- mu2011
- ベストアンサー率38% (1910/4994)
(1)C列の商品番号を基準に在庫の金額をE列に計数します。 (見出し行ありとしています) E2=IF(COUNTIF(A:A,C2),VLOOKUP(C2,A:D,2,0)*VLOOKUP(C2,A:D,4,0),"")に設定して、下方向にコピー 単価列が空白セルなしで6000行分データが設定されているのならば、フィルハンドル(枠右下の■)をダブルクリックして下さい。 (2)在庫合計は、任意セルに=SUM(E:E)とします。
お礼
mu2011さん こちらを試してみたのですが、エラーが出てしまいます。 何か表自体に問題があるのでしょうか。 追記いたしますと、棚の商品はダブリで入っているものもあります(置き場所がストックヤードと棚の2箇所あるもので。。。) これはエラーとなる原因になりますでしょうか? アドバイスお願いいたします。
- mjsamiasan
- ベストアンサー率57% (55/95)
A B C D E 商品番号|価格|棚商品|個数|金額| 1 100 1 10 2 200 3 20 3 300 5 30 4 400 5 500 とみたいなデータだと仮定します。 =LOOKUP(C2,$A$2:$A$6,$B$2:$B$6)*D2 をE列に。 どうでしょう?
お礼
mjsamiasanさん。 仮定データはその通りです。 教えていただいた関数を入力してみたのですが、エラー表示が出てしまいます。。。 何か入力の仕方に問題があるのでしょうか。
お礼
成功しました!! バッチリです!! 色々とご丁寧にご指導頂きましてありがとうございました!! 感謝です!
補足
色々とご指導有難うございます。 上記の式は、C5とD5が固定してありますが、これはCの数値が入っている最初のセルで宜しかったですよね? また、AとBの列は、全部指定で宜しいでしょうか。 試してみます。