エクセルでの部分データ摘出について質問です

このQ&Aのポイント
  • 在庫管理ソフトから吸い出したエクセルデータを見やすい表にするために配置換えをしたいと思っています。
  • 摘出したエクセルデータは品番・カラー・サイズの配置になっており、同じセルにあります。
  • エクセルでABCDの部分を見やすくするための方法を教えてください。
回答を見る
  • ベストアンサー

エクセルでの部分データ摘出(?)について質問です

はじめまして。 在庫管理ソフトから吸い出したエクセルデータを 見やすい表にするために配置換えをしたいと思い いろいろ調べてみたのですが分からなかったので質問させて頂きます。 まず摘出したエクセルデータは下の表のような感じで AB-01-C1L→品番(AB-01)・カラー(C1)・サイズ(L) といった配置になっています。 この部分は同じセルにあります。 品番 /カラー /サイズ  | 在庫数 ---------------------- AB-01-C1L | 10 ←A AB-01-C1M | 52 ←B AB-01-C2L | 03 ←C AB-01-C2M | 20 ←D 上の表のABCDの所を下の表のABCDにあてはめて見やすくしたいと思っています。 ┌───┬──┬──┬──┐ │AB-01│   │M  │L  │ │___│__│__│__│ │品名 │白  │B  │A  │ │    │黒  │D  │C  │ 【環境】 Windows XP Office Excel2003 お手数をおかけしますが、よろしくお願い致します。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

Sheet1          Sheet2     A    B        A  B  C  D 1 AB-01-C1L 10     1 AB-01   M  L 2 AB-01-C1M 52     2 品名  C1 52 10 3 AB-01-C2L  3     3     C2 20  3 4 AB-01-C2M 20 Sheet2!C2: =SUMPRODUCT((Sheet1!$A$1:$A$4=$A$1&"-"&$B2&C$1)*(Sheet1!$B$1:$B$4))

milk_noa
質問者

お礼

ご返答ありがとうございます。 うちのシートに入れ込んでチャレンジしてみます!

milk_noa
質問者

補足

ばっちり出来ました! C1などカラーの部分は表の欄外にでも付け加える事にしました。 この方法なら品番の文字数が変わっても出来ました。 ありがとうございました。

その他の回答 (4)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

品番に「-C」と言う文字列が含まれない事を条件に出来るのでしたら以下のようにできます。 品番+カラー+サイズと在庫の間に4列挿入してください。 A1に品番+カラー+サイズ(例:AB-01-C1L)、F1に在庫数(例:10)が入っているとします B1に =RIGHT(A1,LEN(A1)-FIND("-C",A1)) これがカラー+サイズ C1に =LEFT(A1,FIND("-C",A1)-1) これが品番 D1に =LEFT(B1,1+LEN(B1)*10-SUM(LEN(SUBSTITUTE(B1,{0,1,2,3,4,5,6,7,8,9},)))) これがカラー E1に =RIGHT(B1,LEN(B1)-LEN(D1)) サイズ これで情報を分けることが出来ました。 あとは、C~F列の値でピボットテーブルで集計します。

milk_noa
質問者

お礼

ありがとうございます。 品番を全部調べてみたところ「-C」というものも含まれていました。 含まれていなければこういう方法もあるのですね。 参考になりました。

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

質問での、したいことも良くわからない。 実際のセル単位のデータの 意味的に各桁の長さ 区切り などをもっとはっきり説明すべきだ。 ーー このデータはエクセルに読み込んであるのでしょうね。 A,B列に入っているのか ? 品番は例ではAB-01 5桁で1定桁数 ? 次の2桁はカラーコード? 2桁定桁 ? サイズ  1桁  ? あと在庫数が B列?に数値で入っているのでしょうね<ーこの部分は同じセルにあります。から在庫数は別セル? ーーーーー AB-01│   │M  │L  │ │___│__│__│__│ │品名 │白  │B  │A  │ │    │黒  │D  │C  │ の意味がわからない。 色について C1->白、C2ー>黒など対応表があるのか。 品名と突然出ているが、ABー01のほかにAB-02,・・以下色々あるのでしょうか? その対応表は? M Lの列はMは該当がB,D、LはA,Cということだが、 AとかBとかはどの列にどういうデータであるのか。行番号でよいのか? MとLを例えばC,D列に2分して下方向に該当を並べていけばよいのか? ーー >摘出時に変更する事はソフトの都合上出来ません エクセルのシートの表においてやるかどうかの話だろう。 === 察するにVBAでも組めない場合は、難しいと思う。 表の組み換えは関数ではむつ香椎場合が多い。 この説明の仕方の状況では、プログラムなど縁遠い人のようで、それでは、この課題の解決は無理でしょう。 ==== 参考までに1セルのデータで意味的に定桁のデータを別列に分ける操作を書いておく。 (#1のご回答の具体的対処方法の1例です) A列にデータがあるとする。 例データ A1,A2 AB-01C1M AB-01C2L ーーー 操作は、 列挿入して、最終的に、B,C列に、空白列を2列作っておく データー区切り位置 スペースによって右・・の方をチェック 次へ 人間がマウスで、データのプレビューの例データのところで 01とCの間をクリック C1とMの間をクリック で、縦線が2本入る。 完了 結果 A列  B列   C列 AB-01 C1 M AB-01 C2 L このように分けられるのだ。

milk_noa
質問者

お礼

ありがとうございます。 ご意見参考になりました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

例えば  A     B  C  D    E 品番    品名 色 サイズ  在庫数 AB-01-C1L AB-01 C1  L    10 AB-01-C1M AB-01 C1  M    52 AB-01-C2L AB-01 C2  L    03 AB-01-C2M AB-01 C2  M    20 と3列挿入して B列 =LEFT(A3,LEN(A3)-4) C列 =LEFT(RIGHT(A3,3),2) D列 =RIGHT(A3,1) と入れて下へコピィすれば、上記の表になりますので、 後は、ピボットテーブル作成すれば、ご希望の表になると思います。

milk_noa
質問者

お礼

ご返答ありがとうございます。 文字数が一定していないという事を詳しく書いていませんでした。 情報不足になってしまい申し訳ありません。 品番は商品別で文字数が違うので全体の文字数にばらつきがあります。 ご丁寧に教えて頂いたのにすみませんでした。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

まずは品番+カラー+サイズの情報を別けてやる必要が有ります。 別けてしまえばピボットテーブルで集計可能です。 でも、そのためには情報がたりません。 品番は必ず半角5文字ですか? 色は必ずCで始まる2文字ですか(数字が2桁になることは無い?) サイズは1文字ですか(LLサイズ等2文字になることは無い?)

milk_noa
質問者

お礼

ご返答ありがとうございます。 摘出したエクセルデータ(上の表)は、毎日変更され、数も数千と膨大な量なので摘出してから情報を分けるのは、ほぼ不可能な作業なのです。 また、その部分を、データ摘出する前に変更する事や、摘出時に変更する事はソフトの都合上出来ません。 品番はサンプルとして上に書いたものは5桁ですが、実際は5桁から8桁のものまであります。 カラーは必ずCから始まりますがその後の数字はカラー番号として当てはめているので、多いものだと10色を超え、2桁になる場合があります。 サイズは1文字のものが大半ですが、2文字になる品番もあります。 情報不足ですみません。 よろしくお願い致します。

関連するQ&A

  • EXCELの集計で困っています。

    こんにちは。 どなたかお知恵を拝借できませんでしょうか。 EXCEL2003 SP3 の集計で悩んでおります。 列 A) 商品区分 B) 大分類 C) 小分類 D) 品番 E) サイズ F) 仕入年度 G) 商品名 H) 商品カラー I) 店舗 J) 価格 K) 特別価格 L) 在庫点数 M) 在庫金額 N) 原価 O) 販売開始年度 というファイルがあります。 これを、D)品番とF)仕入年度の単位で在庫点数と在庫金額を集計し、 かつ、集計行にE)サイズとI)店舗を除く、その他全ての列項目の値を表示させたいのです。 (つまり、集計データの1行上の値を持ってくればOK。) これをメニューから行おうとしたのですが、集計項目は1つしかなく・・。 おそらくVBAを用いなければ無理だと思うのですが、 お恥ずかしい話、VBAの知識を持ち合わせておりません。 参考までに、データは約1万件あります。 また、データの並びは大分類>小分類>品番>サイズ>仕入年度で ソートされており、このままの集計ですと、品番・サイズ・仕入年度での 集計となってしまいますので、サイズを除いた 大分類>小分類>品番>仕入年度、への再ソートが必要かと思われます。 お手数をお掛けいたしますが、なにとぞよろしくお願いいたします。

  • 2つの表データの比較

    こんにちは。 Excelの2つの表(AとB)を比較し、Aにないデータ、Bにないデータを抽出したいです。 例: A表 品番 アイテム カラー サイズ B表 品番 アイテム カラー サイズ A表の品番にあって、B表の品番にない物 B表の品番にあって、A表の品番にない物 それぞれを抽出したいです。 Accessで行うといいと聞いたのですが、Accessがよくわからないので、お力を貸していただきたく質問しました。 宜しくお願いします。

  • エクセルのデータ入力で困っています。

    会社でのエクセルのデータ入力で困っています。 得意先から発注データ(エクセル)と倉庫会社からの在庫データ(エクセル)を当社の出荷データ表(エクセル)に入力しています。 毎週やっているのですが、データ数が多くミスが多いので、 困っています。また、ひとつの品番で色がたくさんあり、発注データと在庫データでは順番が異なっており、間違いの原因になりやすいです。 どうすれば、ミスを減らせるか教えてください。

  • エクセル グループごとに一つのセルに纏める方法

    教えて下さい。 エクセル2003で仮に以下のような表があるとします。 「1」「2」 あ  A あ  B あ  C い  A い  B う  A う  B う  C う  D 別のシートのセルでも、同一セルでもいいのですが、 「1」「2」 あ  ABC い  AB う  ABCD いう風にグループごとにひとつのセルにデータを纏めたいのですが、 何かよい方法はありませんでしょうか? あまりエクセルが詳しくありません。 宜しくお願い致します。

  • 別シートのデータを指定したセルに読み込みたい

    Excell for Mac 2011 を使用しています。 画像のイメージのように、シート1のデータをシート2の指定したセルに読み込みたいのですが可能でしょうか? また、シート1のデータは商品が増える度にセルの位置が変わります。 (Aの次にA-1という品番が追加される、そうするとB以降のセルの位置がずれるという感じです) なので【シート1の「D2」をシート2の「D12」に読み込む】のではなく 【シート1のA列が「A」(品番)且つ       B列が「M」(サイズ)且つ       C列が「BLUE」(カラー)の       D列 (在庫数量)を  シート2の「D12」に読み込む】 という細かい指定をしたいのですが、可能でしょうか・・・? ご教示宜しくお願い致します。

  • エクセル VBA コマンドボタン位置変更による処理?

    エクセルに注文表、在庫表シートを作成し 注文書シートには セルA1~A5には品番を入力   B1~B5には品名を入力   C1~C5には納期を入力   D1~D5にはコマンドボタン1~5を配置しました。 処理としてはA1,B1,C1,に入力されている項目を D1に配置しているコマンドボタン1クリック時 在庫表に移し変える処理 With Worksheets("在庫表") For idx = 4 To 70 If .Cells(idx, 1) = "" Then .Cells(idx, 1) = Worksheets("注文表").Cells(1, 1) .Cells(idx, 2) = Worksheets("注文表").Cells(1, 2) .Cells(idx, 3) = Worksheets("注文表").Cells(1, 3) Exit For End If Next idx End With 以上で出来るのですが さらに行いたいことは納期項目列(C1~C5)を昇順で並び替えた場合 コマンドボタン1の配置位置がD1からD4などに移動するため この場合のコマンドボタン1の処理はA4,B4,C4を在庫表に 移し変えたいのですがどの様に書き込めば宜しいでしょうか?

  • アクセスのフォームで 一度に複数のデータ(色、サイズ)いれることができますか?

    まだaccessは参考書を読んでるだけでさわってもいません。 生産管理のデータベースをつくりたいです。 いままで、エクセルで下のような表をつくって、別のシートにデータベースっぽい表をつくって、単純に=で参照させていました。 ずれてますが、たて棒と横棒は枠のつもりです。 品番     l サイズ/色  l   赤   l  青 l   ----------------------------------    1 l     l   S      l  10 l  11 l      --l     l-----------------------l          2 l -001 l    M     l 20 l  22 l    --l    l----------------------    3 l     l   L      l  15 l  14 l  ------l-------------l---------------------   「-001」というところが品番で、これを一区切りとしてひとつの表をたてにずらっとならべて、 データベースのシートの他にも、資材発注表や伝票などといろいろ連係してましたが、 accessを覚えようと調べてみました。 accessのフォームの機能に感動しましたが、 上の表のように、一度のフォーム入力で (一品番ごと)色、サイズを上の表のように入力して、 1-001 赤色のSサイズ 10個とひとつのレコードがでるようなことはできますか? ひとつづつ入力する手間は、省きたいです。 このようなことするには何を覚えたらよいのでしょうか? 今の表のまま、excelのvbaを覚えるか、 accessを覚えるかで迷っています。 よろしくお願いします。

  • エクセルデータ検索方法を教えてください!

    エクセルで下記のような検索をしたいと思っています。 VBAの知識がないので、関数で行いたいです。 Sheet1   G     H    I     J 1 商品番号 カラー  サイズ  コード 123    白    M     Sheet2   A     B    C     D 1 商品番号 カラー  サイズ  コード   123    白    M     aaa 上記のようにシートが分かれています。 Sheet1の「商品番号」「カラー」「サイズ」と、Sheet2の「商品番号」「カラー」「サイズ」 が対応しており、3つの条件すべてに合致するSheet2の「コード」を、Sheet1の「コード」に 表示させたいです。 データが膨大にあるのですが、大変急ぎの作業のため、どうぞよろしくお願いします。

  • 在庫の集計VBAについて

    元のエクセルファイルにすべての商品コードとサイズと在庫数が以下のようにあります。 code  サイズ  在庫数 a  S  10 a  M  5 a  L  7 b  26インチ  10 b  27インチ  20 b  28インチ  10 c  S  1 c  M  6 c  L  4 c  LL  20 ・ ・ ・ ・ と2万行ほど。 そこで週2回ほど在庫表が他部署から回ってきます。 しかし、そのファイルには以下のように在庫のあるコードとサイズと個数しか書いていません。 code  サイズ  在庫数 a  M  1 a  L  2 c  M  5 c  LL  11 ・ ・ ・ ・ 期待値としましては、 a  S  0 a  M  1 a  L  2 b  26インチ  0 b  27インチ  0 b  28インチ  0 c  S  0 c  M  5 c  L  0 c  LL  11 ・ ・ ・ ・ となるようにマージしたいです。 元のファイルにはすべてのcodeとサイズが書いてあります。 回ってくる在庫表はすべてのコードとサイズが書いていません(在庫のあるものだけ書いてあります)。 在庫が復活するとまた書き直さないとダメなので、困ってます。 いい方法はないでしょうか。 どうぞ、よろしくお願いします。

  • エクセルのデータ配置を変えたい

    質問をお願いします。 エクセルで作成したデータの配置を添付のように変更したいのですがどのような方法があるのでしょうか。 具体的には、横に展開した上の表を下の表のように、A列のコード毎に、A・B・Cそれぞれの数値を表示したいことと、ブランクの部分は表示させない、というようにしたいのです。 (もちろん別のシートにデータを作成して構いません) データ量は、縦・横とも相当あるので、とても手作業ではできません。 何か良い方法があれば教えて下さい。

専門家に質問してみよう