Excelで同一のデータを抽出して横並びに
- Excelを使用して、同じ商品コードのデータを横並びに抽出する方法を教えてください。
- データの中から同じ商品コードを見つけて、それを横並びに表示させる方法を教えてください。
- Excelでの同じ商品コードのデータの横並びに表示する方法について教えてください。
- ベストアンサー
Excelで同一のデータを抽出して横並びに
A B C D 商品コード 注文数 商品コード 注文数 aaa 15 ccc 4 bbb 12 ddd 6 ccc 10 aaa 22 ddd 6 eee 10 eee 5 bbb 7 fff 8 kkk 9 kkk 7 lll 4 上記のようなデータを 以下のように同じ商品コードを横並びに表示させたいのですが どういったcountifとかで試したのですが上手くいかず、どのような関数を使えば可能でしょうか? A B C D 商品コード 注文数 商品コード 注文数 aaa 15 aaa 22 bbb 12 bbb 7 ccc 10 ccc 4 ddd 6 ddd 6 eee 5 eee 10 fff 8 kkk 7 kkk 9 lll 4 宜しくお願い致します。
- javadog16
- お礼率100% (1/1)
- Excel(エクセル)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関数は別のセルに値をVlookupなどで表示することになると思いますが lll 4 の処理が分からないのでマクロでしたら Sub Test() Dim buf As Variant Dim FRng As Range Dim i As Long, j As Long, BRow As Long With Sheets("Sheet1") j = 1 buf = .Range(.Cells(2, "C"), .Cells(Rows.Count, "D").End(xlUp)) .Range(.Cells(2, "C"), .Cells(Rows.Count, "D").End(xlUp)).ClearContents BRow = .Cells(Rows.Count, "B").End(xlUp).Row For i = LBound(buf, 1) To UBound(buf, 1) Set FRng = .Range(.Cells(2, "A"), .Cells(BRow, "B")).Find(What:=buf(i, 1), LookIn:=xlValues, LookAt:=xlWhole) If Not FRng Is Nothing Then .Cells(FRng.Row, "C").Value = buf(i, 1) .Cells(FRng.Row, "D").Value = buf(i, 2) Else .Cells(BRow + j, "C").Value = buf(i, 1) .Cells(BRow + j, "D").Value = buf(i, 2) j = j + 1 End If Next End With End Sub
関連するQ&A
- Excelの関数に詳しい方、お願いします。
わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.
- ベストアンサー
- オフィス系ソフト
- Excelで、自動でデータのナンバー付けをしたい
エクセルで、商品管理をしているのですが、以下のようなエクセルファイルのデータをフィルタ後(件数が0より多いものでフィルタをかけた後)、項目のナンバーを再び1から順につけていきたいと思っています。 ------------------エクセルファイル------------------ 項目 商品名 商品ID 単価 件数 金額 1 AAA BBB ¥2,000 1 ¥2,000 2 CCC DDD ¥1,200 19 ¥22,800 3 EEE FFF ¥1,000 0 ¥0 4 GGG HHH ¥1,000 3 ¥3,000 5 III JJJ ¥500 0 ¥0 6 KKK LLL ¥400 2 ¥800 小計 ¥28,600 --------------------------------------------------- 上記のファイルを、件数が0より多いものでフィルタをかける。 つまり、エクセルファイルは、以下のようになります。 ------------------エクセルファイル------------------ 項目 商品名 商品ID 単価 件数 金額 1 AAA BBB ¥2,000 1 ¥2,000 2 CCC DDD ¥1,200 19 ¥22,800 4 GGG HHH ¥1,000 3 ¥3,000 6 KKK LLL ¥400 2 ¥800 小計 ¥28,600 --------------------------------------------------- この場合、項目のナンバーが1、2、4、6、という順番になっているので、 これを1、2、3、4、という順番に置き換えていきたいと思っています。 データ数が少なければ手動でやっても良いのですが、 データ数が膨大な量になるので、これを自動で出来るようにしたいと思っています。 VBAで挑戦を試みましたが、なかなか上手くいきませんでした。 何か上手くできる方法はございませんか? どなたかご教授をお願いします。
- ベストアンサー
- その他MS Office製品
- EXCELのVBAで空白列を削除して左づめにできますか?
いつも参考にしています。まだ、マクロの記録にチョット手を加えて自動化?している程度の腕前ですが? 仕事の都合で下記の問題を解決しなくてはならなくなり、皆様のお知恵をお借りしたいと思い質問させて頂きます。 エクセルのワークシートに空白のセルがランダムに入っているデータがあります。これを、ある列まで(例ではD列までの左の空白セルをなくして左づめのデータとしたいのです。 (例) | A | B | C | D | E | 1|AAA|BBB|CCC|DDD|EEE| 2| |BBB|CCC|DDD|EEE| 3|AAA| |CCC|DDD|EEE| 4|AAA| |CCC| |EEE| 5| | | |DDD|EEE| ↓ | A | B | C | D | E | 1|AAA|BBB|CCC|DDD|EEE| 2|BBB|CCC|DDD| |EEE| 3|AAA|CCC|DDD| |EEE| 4|AAA|CCC| | |EEE| 5|DDD| | | |EEE| ここで、E列以降は詰めないでほしいのです。 できれば、VBAで実現したいのですが、どのような考えで、どのようなコード?を書けばよいのか教えてください。 質問の仕方も用途を得ないで、失礼な質問になっていると思いますが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAで特定の値がある行を連続コピーしたい
Excel 2003 OS XP Professional SP3 VBAは自分でコードは組むことはできませんので見よう見まねでやっているレベルです。 A B C D E の列があり、行の1行目はタイトル行になっています。 A B C D E *** *** *** *** *** ’ AAA BBB CCC DDD 111 222 333 ' EEE FFF GGG HHH ' III JJJ KKK LLL 444 555 ' MMM NNN OOO PPP A列にカンマがある行にはB~E列に値が入力されていて、A列にカンマ以外の値が入力されている 場合にはB~Eには何も入力されていません。 A列にカンマ以外の値の時、カンマのある行のデータを次のカンマのある行までフィルハンドルをドラッグしてコピーするよう にしたいです。 A B C D E *** *** *** *** *** ’ AAA BBB CCC DDD 111 AAA BBB CCC DDD 222 AAA BBB CCC DDD 333 AAA BBB CCC DDD ' EEE FFF GGG HHH ' III JJJ KKK LLL 444 III JJJ KKK LLL 555 III JJJ KKK LLL ' MMM NNN OOO PPP sub 連続コピー() Dim r As Long Dim n As Long r = 2 n = r + 1 Do While Worksheets("sheet1").Cells(r, 1) <> "" If Worksheets("sheet1").Cells(r, 1).Value = Worksheets("sheet1").Cells(n, 1).Value Then r = n n = n + 1 Else Range(Cells(r, 2), Cells(r, 5)).Copy Range(Cells(n, 2), Cells(n, 5)) n = n + 1 End If Loop End Sub 自分なりに考えてみましたが、ぜんぜん動きません。 どなたかご教授をお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA split関数について
Excel VBA初心者です。 split関数についてどなたか教えていただけないでしょうか。 aaa,bbb,ccc,eee fff,ggg,hhh,iii jjj,kkk,lll,mmm というデータがあるとして、そこから aaa bbb fff ggg jjj kkk これだけ(左から2個分)を抜き取りたいのですが可能でしょうか? カテ違いな質問でしたらスミマセン。
- ベストアンサー
- オフィス系ソフト
- SQL 複数条件を設定
使用言語はjavaで処理しており、 SQL Server2005にて下記のようなテーブル(T_Kekka)があります。 ID a-1 a-2 b-1 b-2 c-1 c-2  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd ccc eee fff 2 ggg bbb ccc hhh iii jjj 3 bbb mmm ddd ccc fff eee 4 bbb aaa ccc ddd qqq rrr 5 zzz sss ttt ccc vvv xxx 6 zzz aaa ttt ccc vvv fff 7 zzz zzz zzz zzz zzz zzz 8 qqq rrr ccc ddd fff eee 検索する値は下記の通りです。 検索値 |a-1|a-2|b-1|b-2|c-1|c-2|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |aaa|bbb|ccc|ddd|eee|fff| 期待値としては、aはaのグループで検索、bはbのグループで検索、cはcのグループで検索をし、 一致個数の多い順に出力したいと考えております。(理想は下記のような感じです。) また、グループ内であれば逆転していてもOKです。 (例えばID:1のaグループのような感じです。) *1 一致数が同じ場合はcグループの数が多いデータが最優先となり、その他はID順になります。 期待値 ID a-1 a-2 b-1 b-2 c-1 c-2 一致数  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1 bbb aaa ddd ccc eee fff 6 3 bbb mmm ddd ccc fff eee 5 8 qqq rrr ccc ddd fff eee 4・・・*1 4 bbb aaa ccc ddd qqq rrr 4 6 zzz aaa ttt ccc vvv fff 3 2 ggg bbb ccc hhh iii jjj 2 5 zzz sss ttt ccc vvv xxx 1 7 zzz zzz zzz zzz zzz zzz 0 知識不足のため私には複雑すぎて悩んでいる状況なので、 どなた様か知識がある方にご教授願いたく思います。 また、まだテスト段階なので現状のようなテーブル構造にしてしまいましたが、 他のテーブル構造の方がデータが抽出しやすかったり、レスポンスがいい場合がありましたら、 ご教授いただけると助かります。 説明が分かりづらく表が見づらくて申し訳ございませんが、 宜しくお願い致します。
- ベストアンサー
- SQL Server
- VBAでCSV内にある改行を取る方法
あるシステムが吐くcsvファイルの項目の中に改行が入っているものがあります。 例) 01,aaa,bbb(改行)bbb,ccc(改行) 02,ddd,eee,fff(改行) 03,ggg(改行)ggg,hhh,iii(改行) このCSVファイルをエクセルのマクロで読み込んでシートに展開したい のですが、項目中にある改行で別レコードを認識してしまいます。 結果) A B C D ---+---+---+--- 01 aaa bbb bbb ccc 02 ddd eee fff 03 ggg ggg hhh iii これを以下のようにしたいのですが・・・ A B C D ---+------+------+---- 01 aaa bbbbbb ccc 02 ddd eee fff 03 gggggg hhh iii どうやればよいでしょうか? ご教授お願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロについて教えて下さい。
エクセルのマクロについて教えて下さい。 Sub Ref() Dim ax As String Dim num As Integer, i As Integer Dim arr As Variant Dim tex As String Range("A1").Select ax = ActiveCell.Formula arr = Split(ax, ",") For i = 0 To UBound(arr) num = i + 1 Cells(num, 1).Value = arr(i) Next i For i = 1 To 10 ActiveCell.Offset(, 1).Select tex = ActiveCell.Formula Selection.Resize(num, 1).Select Selection.Formula = tex Selection.Resize(1, 1).Select Next i End Sub このマクロを10行ほどまで対応させたいです。 例として2行の表ですが、 A B C D E F 1 C100,C101,C102,C103 aaa bbb ccc ddd eee 2 C104,C105,C106,C107 とうい表を、 A B C D E F 1 C100 aaa bbb ccc ddd eee 2 C101 aaa bbb ccc ddd eee 3 C102 aaa bbb ccc ddd eee 4 C103 aaa bbb ccc ddd eee 5 C104 aaa bbb ccc ddd eee 6 C105 aaa bbb ccc ddd eee 7 C106 aaa bbb ccc ddd eee 8 C107 aaa bbb ccc ddd eee という表にしたいです。 結合してから展開しようと考えたのですが 1列目の文字列の最後にカンマが無い場合、ある場合がありまして、 対応する事が出来ませんでした。 マクロ初心者なので教えてください。 よろしくお願いします。
- ベストアンサー
- Windows XP
- CSVデータをツリー表示させたい
業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード レベル 品名 規格 ・・・・ コード レベル 品名 規格 ・・・・ 1234 1 AAA aaa -1234 1 AAA aaa 2345 2 BBB bbb ∟2345 2 BBB bbb 3456 3 CCC ccc ∟3456 3 CCC ccc 4567 3 DDD ddd ∟4567 3 DDD ddd 5678 3 EEE eee ∟5678 3 EEE eee 6789 4 FFF fff ∟6789 4 FFF fff 7890 3 GGG ggg ∟7890 3 GGG ggg
- ベストアンサー
- JavaScript
- Excelのマクロでの部分的な重複データの抽出方法
お世話になります。 Excelのマクロで部分的な重複データの抽出をしたいと考えています。 データの内容は下記のような感じです。 名称 No. AAA 111-11 BBB 111-12 CCC 111-21 DDD 111-23 EEE 121-13 FFF 201-31 GGG 201-32 HHH 53-1 JJJ 53-2 KKK 91-1 桁数(文字数)が2通りあり、前述のものは-(ハイフン)のすぐ後の文字(基本的に数字ですが、アルファベットの場合もあります)までの内容で重複データを削除したいです。後述の短いものは-(ハイフン)の直前までの内容で重複データを削除したいです。最後の文字は無視して重複を省きたいという事です。 最終的なデータの希望内容は、 名称 No. AAA 111-11 CCC 111-21 EEE 121-13 FFF 201-31 HHH 53-1 KKK 91-1 です。 現状、関数のLENなどを利用してある程度手を加えていますが、できれば全てマクロでできないかと欲を出してます・・・・。お願いします。
- ベストアンサー
- オフィス系ソフト
お礼
ご丁寧にありがとうございます! さっそく試させていただきます!