• ベストアンサー

マトリックス作成

表現(説明)が難しいので、写真添付しました。 シート1のようなデータ500件程あります、型名が200種類程あります。シート2のようなマトリックスを作成したいです。ご教授ください

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

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

こんばんは! VBAになってしまいますが、一例です。 画像の文字が小さくてはっきり見えないのですが、 Sheet1のデータはA~C列までで2行目以降にある。 Sheet2の2行目「型名」は画像では3種類だけですが、実際は200程度ある! というコトですよね? とりあえず「型名」も表示させるようにしてみました。 ALT+F11キー → 画面左下の「This Workbook」をダブルクリック → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j, k As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("Sheet1") Set ws2 = Worksheets("Sheet2") Application.ScreenUpdating = False k = ws2.Cells(Rows.Count, 1).End(xlUp).Row j = ws2.Cells(2, Columns.Count).End(xlToLeft).Column If k > 2 Then ws2.Rows(3 & ":" & k).ClearContents End If If j > 1 Then Range(ws2.Cells(2, 2), ws2.Cells(2, j)).ClearContents End If For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(ws2.Rows(2), ws1.Cells(i, 3)) = 0 Then ws2.Cells(2, Columns.Count).End(xlToLeft).Offset(, 1) = ws1.Cells(i, 3) End If Next i k = 2 For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row For j = 2 To ws2.Cells(2, Columns.Count).End(xlToLeft).Column If ws1.Cells(i, 3) = ws2.Cells(2, j) Then k = k + 1 ws2.Cells(k, 1) = ws1.Cells(i, 1) ws2.Cells(k, j) = ws1.Cells(i, 2) End If Next j Next i Application.ScreenUpdating = True End Sub 'この行まで ※ 関数でないので、Sheet1のデータ変更があってもSheet2には反映されません。 Sheet1の変更があるたびにマクロを実行する必要があります。 外していたらごめんなさいね。m(_ _)m

okamoto6855
質問者

お礼

tom04さん、いつも有り難うございます。完璧な物が出来ました有り難うございました。連絡遅れて申し訳ありません。

その他の回答 (1)

回答No.2

ピボットテーブルでも。図のように項目をドラッグして配置すれば、「シャフト」のみのリストが得られます。同様に「シャフト1」のみ、「ボルト」のみの表示にもクリックのみで切り替えれます。 フィルタ(オートフィルタ)と一味違うのは、A列の種類ごとにB列が並べられていること。つまり、元々A列がバラバラな順番ではなく、規則正しく並んでいるならば、オートフィルタでも同じ表が作れることになります。

関連するQ&A

  • excel 4象限マトリクスを作成したい

    お世話になります。 会社の上司に添付の様な元データを渡されて、「Excelで4象限マトリクスを作成してほしい」と言われたのですが、やり方がわからず困っています・・。 完成イメージ図は添付の右図のような感じで、分布図の様に結果を点で表示させたいらいしいのですが、当方わからずお手上げ状態です。。 どなたかご教授いただけませんでしょうか。よろしくお願い致します。 環境 Excel2003 WindowsXP

  • 2次元バーコード(データマトリックス方式)…

    2次元バーコード(データマトリックス方式)をエクセルでつくる方法 いつもお世話になっております。 どなたかご教授願います。 2次元バーコード(データマトリックス)をエクセル(マクロ)で作成したいと思います。 セルを黒く塗りつぶしてドットを■で表現する感じです。 データマトリックスの原理(ドットの法則)を知っている方がいたら教えてください。 もしくはフリーソフトでデータマトリックス形式のバーコードを作成するソフトがあれば教えて下さい。 よろしくお願いいたします。

  • 商品情報からマトリクス作成

    (シート1) A | B | C | D |・・・・・・|AI A~最大AIまで 1|MM01| 2|BB01|BB03|LL01|BB01| 3|LL01|BB02| 4|MM03|LL01|LL01| 5|BB03| ・ ・ ・ 10000 一万行まで シート1の行に商品(MM01など、全35品目)がある場合、 シート2へ商品の項目に対応して1を、 シート1に商品がなければ、 シート2へ0を入力する。 シート1の同じ行に複数の同製品(行番号2の場合、BB1)があっても、 シート2へは1を入力する。 (シート2) A B C D E F G H ・・・ 1|MM01|MM02|MM03|BB01|BB02|BB03|LL01|LL02|・・・全35商品(一行目の商品リストはすでにある) 2|1 |0 |0 |0 |0 |0 |0 |0 |・・・ 3|0 |0 |0 |1 |0 |1 |1 |0 |・・・ 4|0 |0 |0 |0 |1 |0 |1 |0 |・・・ 5|0 |0 |1 |0 |0 |0 |1 |0 |・・・ 6|0 |0 |0 |0 |0 |1 |0 |0 |・・・ ・ ・ ・ このようにシート1からシート2へ マトリクスを作るVBAをご伝授ください。 エクセル以外でも、SPSSやRでこのようなマトリクスを作成する 方法をご存知でしたらご伝授ください。 よろしくお願いします。

  • マトリックスの感染について

    ウイルスバスター2001を入れていますが、なぜかマトリックス(TROJ_MTX.A)に感染してしまいました。「なぜか」というのは、いつこのウイルスがはいったのか、全く覚えがないのです。 添付ファイルは届かなかったし、もちろん、一つも開いた覚えがありません。夜は大丈夫だったのに、昼間3通のメールを受信した直後、3件のウイルス感染を告げられました。すぐ駆除したので、今のところ被害はありません。 不思議です。このウイルスはどこからきたのでしょうか。3通のメールを詳しい人に見てもらいましたが、添付ファイルは付いていませんでした。3通のメールは、大手のサイトからの業務案内と友人からです。 なにか私の思い違いで、ウイルス感染の抜け道みたいな物があるのでしょうか。今後の対策のために、ご意見をお聞かせ下さい。初心者なので、説明に足りない点があるかもしれません。どんどんご指摘下さい。よろしくお願いいたします。

  • Excel(VBA)マトリクスの解体方法について

    VBAで、以下のようなマクロを作成したいのですが、どのように作成したら良いのか検討がつきません。 どのようにすれば良いか、ご教授いただけたらと思います。 (過去の質問No.1488981を参考に記入させていただきます) (1)下記のように、縦横のマトリクス表にデータが入力されている。     A B C ・・ 1   X Y Z 2 a ○ × ○ 3 b × ○ ○ 4 c ○ ○ ○ (2)これを別シートに【"○"のついたデータのみ】縦に3列にデータを並べるように処理する。  左列には"項番"(1~)、中列には"行データ"、右列には"列データ" 1 a X 2 a Z 3 b Y 4 b Z  ・  ・  ・ (3)列データと行データの数は不定で、一番右下となるセルまで、処理を繰り返すかたちにする。(空白セルが10個以上になる等の条件で) 以上のような条件です。ご回答よろしくお願い致します。

  • リストを別シートに表示させたい

    excel2013を使用しています 表現が難しいので、添付図を介してご説明いたします。 シート2に添付図のようなデータがあります、全部で1000行位のデータがあります、シート1:C2(入力規則を使用しています)種類を選択時シート1、B6を起点に、該当した種類のデータのみシート1図のように表示させたいです教えてください。 (例)、シート1C2=机, C6:D19には、シート2B2:C15のデータを表示     シート1C2=テーブル、C6:D12には、シート2B16:C21のデータを表示

  • Arduino×LEDマトリクス×BA823

    秋月のLEDマトリクス(赤単色)をローム社のシフトレジスタBA823と接続し、Arduinoで制御しようと試みていますが、配線方法が分からず困っています・・・。 BA823を使用する理由は、LEDマトリクスのドット単位で明るさを制御したいからです。74HC595などでも試みたのですが、最終的に映像を出力させたいと考えており多くのLEDマトリクスを使用した際、74HC595では表示速度に難があるかと感じました。 現在は、LEDマトリクスのアノード側とカソード側に、それぞれ1台ずつBA823を接続し、データシートに従いVCC、GND、STROBE(LATCH)、SHIFT PULSE(CLOCK)、DATAをArduinoへ繋いでいますが、全く点灯しない状況です。 どなたか少しでも情報を持っている方がいましたら、是非アドバイスお願いします。 また、ドット単位で明るさが制御できるシフトレジスタの情報がある方がおられましたら、是非ご教示下さい。 よろしくお願いします。

  • 【エクセル】元データシートよりマクロで表を複数作成

    はじめまして。 ワインの情報が入った元データシートよりマクロを使って それぞれ違うシートに表を複数作成したいのですが、 上手くいきません。 教えていただけますでしょうか。 元データには ワイン名、ヴィンテージ、産地、ブドウ品種の情報があります。 そこから各ワインごとの表を別シートに一度に作成したいです。 添付画像をご参照ください。 ご教授いただけますと幸いです。 よろしくお願いいたします。

  • vba構文 作成依頼

    添付画像左のようなsheet1のデータベースを基に新たにシートを追加して、そのシートへ添付画像右のような集計結果をvbaによって作成したいです。 ご教授宜しくお願い致します。

  • エクセルのグラフ作成に関して質問です。

    エクセルのグラフ作成に関して質問です。 エクセルで添付した画像のグラフを作成しました。 要望として、用紙1枚にデータ(数値)とグラフを入れるようにしました。 その為、データを折り返しています。 グラフを作成する上でグラフ上にある折り返したデータでは、グラフを作成することが出来ませんでした。 別シートに折り返しをしていないデータを別途作成し、そのデータを元にグラフを作成しています。 希望は叶えられているのですがすっきり出来ません。 グラフ上にある折り返しをしているデータだけで、グラフを作成することか可能でしょうか、出来るのであれば教えて頂きたいと思います。 希望は、添付した画像にこだわりません。 ただしデータも見やすく、グラフも入れてもシート1枚で完了し、印刷した際用紙一枚に全て収まるようにしたい。

専門家に質問してみよう