• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2ファイルを使用し商品単位のサイズ展開を抽出したい)

2ファイルを使用し商品単位のサイズ展開を抽出したい

tom04の回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! たびたびごめんなさい。 最後の >ファイル1の親データの時点で1000商品ほどあるため・・・ の部分を見逃していました。 ファイル1のデータを変更してはいけないのですよね? ↓のコードに変更してください。 Sub Sample2() 'この行から Dim i As Long, k As Long Dim c As Range, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") '←Sheet1の部分は実際のSheet名に! Set wS2 = Worksheets("Sheet2") '←こちらのSheet名も! Application.ScreenUpdating = False For i = 2 To wS1.Cells(Rows.Count, 2).End(xlUp).Row For k = 2 To wS2.Cells(Rows.Count, 2).End(xlUp).Row If wS2.Cells(k, 2) = wS1.Cells(i, 2) Then Set c = wS1.Rows(i).Find(what:=wS2.Cells(k, 6), LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then wS1.Cells(i, Columns.Count).End(xlToLeft).Offset(, 1) = wS2.Cells(k, 6) End If End If Next k Next i Application.ScreenUpdating = True End Sub 'この行まで 何度も失礼しました。m(_ _)m

ARIES10
質問者

お礼

ありがとうございました! こちらでやってみまして、大成功でした!

関連するQ&A

  • ひとつも売れてない商品を抽出する関数!(改)

    お世話になります。 エクセルで関数によって色づけをしたいのですが やり方がわからないのでどなたか教えて頂けないでしょうか。 ----------------- 以下のような列があります。 A列 B列  C列   D列 ID サイズ 在庫数 判定結果 IDは商品番号を示していて、データは以下のようになります。 A列 B列  C列   D列 ID サイズ 在庫数 判定結果 A  70cm   5 A  80cm   5 A  90cm   0 B  110cm  4 B  120cm  4 C  90cm   3 C  100cm  3 C  110cm  3 C  120cm  3 C  130cm  3 D 50cm 0 D 60cm 0 D 70cm 0 上記が示しているのは ・Aという商品はサイズが3サイズあり、在庫数はそれぞれ5,5,0着ずつ。 ・Bという商品はサイズが2サイズあり、在庫数はそれぞれ4,4着ずつ。 ・Cという商品はサイズが5サイズあり、在庫数はそれぞれ3,3,3,3,3着ずつ。 ・Dという商品はサイズが3サイズあり、在庫数はどれも0着で売切れ。 今回まず抽出したいのはBやCのように、各サイズの数が同一のものです。 つまり、「各サイズの在庫が同一ということは多分1着も売れてない」という 性質の商品を抽出したいわけです。 (※各サイズが等しく売れているものも抽出されますがそこは目視で判断します) 商品によって、サイズ分布が違うので行数が変わってきますし、 仕入れ数も違うため、「この数字と等しいということは売れていない」という 判断も出来ません。 この状況で関数を使ってD列にB商品やC商品のような性質の商品に 色付けをしたいと考えているのですが、適切な関数はありますでしょうか? ※A商品は多分仕入れが5着ずつで90cmのサイズだけ売れています。  残りのサイズは1着も売れていないということになりますが、  希望しているのはどのサイズも1着も売れていないというものなので  A商品は抽出されてほしくありません。  (この場合も各サイズが同じ数売れている時に抽出されるのはOKです。   最後に目視で除外します。) B,C商品には、同じID内の一番上の行のD列に「売れてない」と表示されてほしいです。 最後に、D商品は、逆に全て売り切れているという商品ですので  「完売」という色を付けたいです。 これも同じID内の一番上の行のD列に「完売」と表示されてほしいです。 ご回答、どうぞ宜しくお願いいたします。

  • ひとつも売れてない商品を抽出する関数!

    お世話になります。 エクセルで関数によって色づけをしたいのですが やり方がわからないのでどなたか教えて頂けないでしょうか。 ----------------- 以下のような列があります。 A列 B列 C列 D列 ID サイズ 在庫数 判定結果 IDは商品番号を示していて、データは以下のようになります。 A列 B列 C列 D列 ID サイズ 在庫数 判定結果 A 70cm 5 A 80cm 4 A 90cm 2 B 110cm 4 B 120cm 4 C 90cm 3 C 100cm 3 C 110cm 3 C 120cm 3 C 130cm 3 上記が示しているのは ・Aという商品はサイズが3サイズあり、在庫数はそれぞれ5,4,2着ずつ。 ・Bという商品はサイズが2サイズあり、在庫数はそれぞれ4,4着ずつ。 ・Cという商品はサイズが5サイズあり、在庫数はそれぞれ3,3,3,3,3着ずつ。 今回抽出したいのはBやCのように、各サイズの数が同一のものです。 つまり、「各サイズの在庫が同一ということは多分1着も売れてない」という 性質の商品を抽出したいわけです。 (※各サイズが等しく売れているものも抽出されますがそこは目視で判断します) 商品によって、サイズ分布が違うので行数が変わってきますし、 仕入れ数も違うため、「この数字と等しいということは売れていない」という 判断も出来ません。 この状況で関数を使ってD列にB商品やC商品のような性質の商品に 色付けをしたいと考えているのですが、適切な関数はありますでしょうか? ご回答、どうぞ宜しくお願いいたします。

  • 【Excel】 csvファイルを参照し、該当データを表示したい。

    こんにちは csvファイル(商品リスト.csv)に商品リストがあります。 コード 商品名   金額 b32548 あいうえお 10,000 a45687 さしすせそ 20,000 c54842 あいうえお 10,000 ・ ・ 別のExcelファイルのsheet1 A列にコード番号が表示されています。  A   B     C コード 商品名   金額 a45687 c54842 b32548 このB列、C列に、先のcsvファイルの 該当コードにあたる商品名、金額を表示させるには B列、C列の式はどうしたら良いのでしょうか。 完成  A   B     C コード 商品名   金額 a45687 さしすせそ 20,000 c54842 あいうえお 10,000 b32548 あいうえお 10,000 宜しくお願いいたします。

  • csvファイルからデータを抽出したい

    はじめまして。VBA初心者です。 【元となるデータの入ったCSVファイル(改竄禁止)】     A    B    C    D    E 1  ○位  名称  県名 住所 電話番号 2  ×位  ・・・ 3  △位  ・・・ 【抽出したデータを書き出したいxlsmファイル】     B    C 2  順位  3  県名 この二つのファイルがあるのですが、 (1)xlsmファイルのC2に順位を入力し、その順位の建物のデータを  csvファイルから抜き出し、xlsmファイル同シートのB5:F5に表示 (2)同じく県名もC3に入力し、抜き出した結果をB7を左上隅として表示 したいと思っています。 検索や本を見ましたが、似たようなケースがあってもそこから自分で 作るということができませんでした; 今後の参考にもしたいので、もしよろしければコードの解説もよろしく お願いします。

  • エクセルのフィルタオプションの検索条件について

    ■受注データ.xls Sheet1    A      B     C     D 1  商品番号  カラー   サイズ  商品コード 2  123     白     M 3  123-A    BLK     S 4       ・ 5       ・  6       ・ ■商品マスタ.csv Sheet1    A      B     C     D 1  商品番号  カラー   サイズ  商品コード 2  123     白     M    AAA 3  123-A    BLK     S    AAB 4       ・ 5       ・  6       ・ 上記の受注データ.xlsの「商品コード」に、商品マスタ.csvの 「商品コード」を転記したいです。 ※「商品コード」は、「商品番号」「カラー」「サイズ」が同じ  場合のみ一致します。 CSVデータが30万件以上あるため、 商品コードが合致するデータのみ別シート、もしくは別ブックに データを抽出する形で行おうと思い、フィルタオプションを使用したいです。 この場合検索条件の数式をどのように指定すればいいでしょうか。 何卒よろしくお願いいたします。

  • csvファイルを開かずに文字を検索し行を抽出したい

    フォルダの中に複数のCSVファイルが有ります。 これらのファイルを開かずに文字列を検索し、検索対象の文字と完全一致する 文字がある行をまとめてひとつのファイルに抽出する方法を探しています。 例:Aフォルダ内にファイル1、ファイル2、ファイル3、、、と複数のファイルがある。 ファイルのフォーマットはすべてCSV。ファイルにはシートは一つのみ。日付なのですべて異なります。       A         B  C   D   E   F  G   H   I   J  K   L 加工年月日時分 品種 コード A列 B列 C列 D列 E列 F列 G列 本数 作業者    ・    ・    ・ A~Lまであり、Cのコードが指定した検索文字と完全一致するものを抽出したいです。 急ぎの内容の為、VBAやコマンドプロンプトなど、自分なりに色々なサイトにある プログラムを組み換えようとしましたが初心者の為すぐに理解して応用はとても 無理でした。知恵を貸して頂きたいです。

  • 利益が最大の商品の抽出

    エクセルについての質問です A列に商品名、B列に原価、C列に値段のデータシートがあります この中から利益が最大となる商品を抽出したいです いたずらに列数を増やしたくないため、利益を計算させた列を作成せず、 上記のデータシートからだけで行いたいのですが、どうすればいいでしょうか?

  • ExcelVBAでフォルダ内の全csvを開き一行に

    ExcelVBAで、指定フォルダ内の全csvファイルのデータを開き 行列変換して一行毎に並べていきたいのです。 csvファイル数は、処理する時により、増減あります 似たような質問もあるようですが、いくつか見比べるとコマンドが異なってると、混乱してしまい、通しで回答いただけると、理解もできるかと質問させていただきます。 よろしくお願いいたします。 ■操作&データ並べるファイル Sheet:menu こちらに、指定フォルダなど入力、マクロ実行ボタン配置 Sheet:data こちらに、1行づつ、csvファイルのデータを貼り付け ■csvデータ:1001.csv、1002.csv、・・・、1010.csv ■各csvデータ の並び A列 B列  C列 日付 04/01 時間 10:32 番号 1001 A1  OK  0.12 A2  OK  4.92 A3  NG  7.89 B1  0.05 B2  0.95 C1  101.2 C2  95.4 ・  ・ ーーーSheet:data の貼り付け後の並びーーーーーーーーーーーーーー 1001 04/01 10:32 0.12 4.92 7.89 0.05 0.95 101.2 95.4 ・ 1002 04/01 10:45 ・  ・  ・  ・  ・  ・  ・ ・  1003  ・  ・  ・  ・  ・  ・  ・  ・  ・ ・ ・ ・ 1010  ・  ・  ・  ・  ・  ・  ・  ・  ・ ・ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー csvのデータは、3列で100行ほどありますが、 必要なデータの場所は、列が変わったりします

  • サイズの大きいファイルのtarでの展開不具合

    お世話になります。 サーバーA上のあるディレクトリ以下のファイルを"tar jcf"でtar.bz2の形でファイルをバックアップし、サーバーBでそのファイルを”tar xvjf”で展開するという運用をしています(cronで毎日実行しています)。 運用当初は問題なく展開できていたのですが、最近展開が途中で止まっているようです。展開できていた時と現在ではtar.bz2のファイルのサイズくらいしか違いが思い当たりません。 現在、tar.bz2のファイルが16GBを超えているのですがtarにファイルサイズの制限などがあるのでしょうか?

  • データのテキストファイル抽出

    データの抽出に困っています。 エクセルデータにてA~Lのフィールドに値が入っていて、1000レコード程のデータを ・1レコードずつ ・A列のフィールドをファイル名に ・テキストファイルに出力 ・テキストファイルには1レコードを縦に、フィールドごと改行して並べる 上記のようにして作成する必要があります。 今までは、 A B C...K L となっているデータの列と行を入れ替えて A B C . . K L としてテキストファイルを作成し、セルAのフィールドをファイル名にして、 手作業で1列ごとにコピー&ペーストして行っていました。 非常に効率が悪いので、全自動化もしくは一部自動化出来ないかと試行錯誤していますが 良い方法が見つけられません。 何か良い方法をご存知の方がおりましたら教えて下さい。