• 締切済み

主キーを軸として複数項目を抽出し、統合するには?

keithinの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

>ですが、名称(りんご)は重複します。 別に問題ありません。回答した通りの手順で全く問題無く出来ますが、何か? #ちなみにマクロだとこんなカンジで。 sub macro1()  dim LastRow as long  range("D:I").insert shift:=xlshifttoright  range("G:I").numberformat = "hh:mm:ss"  lastrow = range("A65536").end(xlup).row  with range("D2:D" & lastrow)   .formula = "=ROW(D1)"   .value = .value  end with  range("A:D").sort key1:=range("A1"), order1:=xlascending, key2:=range("B1"), order2:=xlascending, header:=xlyes  range("E1:I1") = array("ID","商品","開始","終了","処理")  range("E2").formula = "=A2"  range("F2").formula = "=LEFT(C2,LEN(C2)-3)  range("G2").formula = "=B2"  range("H3").formula = "=B3"  range("I2").formula = "=H3-G2"  range("E2:I3").copy range("E2:I" & lastrow )  range("E2:I" & lastrow).value = range("E2:I" & lastrow).value  range("E2:I" & lastrow).specialcells(xlcelltypeblanks).delete shift:=xlshiftup  range("A:D").sort key1:=range("D1"), order1:=xlascending, header:=xlyes end sub #元データの並び順を保全する必要が無ければもっと簡単に。 sub macro1r1()  dim LastRow as long  range("E:I").insert shift:=xlshifttoright  range("G:I").numberformat = "hh:mm:ss"  lastrow = range("A65536").end(xlup).row  range("A:C").sort key1:=range("A1"), order1:=xlascending, key2:=range("B1"), order2:=xlascending, header:=xlyes  range("E1:I1") = array("ID","商品","開始","終了","処理")  range("E2").formula = "=A2"  range("F2").formula = "=LEFT(C2,LEN(C2)-3)  range("G2").formula = "=B2"  range("H3").formula = "=B3"  range("I2").formula = "=H3-G2"  range("E2:I3").copy range("E2:I" & lastrow )  range("E2:I" & lastrow).specialcells(xlcelltypeblanks).delete shift:=xlshiftup end sub

chamogoo
質問者

お礼

ありがとうございます!

関連するQ&A

  • Excel 複数の項目合致するデータを抽出したい

    是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。

  • excelの複数シートを検索対象にして重複行を抽出する方法

    ある値が重複する行を抽出したいのですが 抽出元データが600,000行近くあり、1sheetに入らず9シート程に分けました。 countifを使おうとしたのですが検索範囲に複数シート指定が出来ず(3D-参照の対象関数ではないようです)、 =COUNTIF('sheet1:sheet9'!$C:$C,C1)としてみたのですが、重複行があっても全て#VALUE!となってしまうので機能できていないようです。 具体的には sheet1~8に下記のようなデータがあり、C列が重複する行を抽出したい。 A列:id、B列:名前、C列:メアド、D列:xx 宜しくお願い致します。

  • エクセルで項目抽出

    エクセルで下記のような表から項目を抽出したいのですが うまくいきません A列 りんご みかん りんご ぶどう みかん と入力されていて任意のセルに、A列に入力されている項目から 重複分を除き抽出したいです 具体的には任意セルに「りんご、みかん、ぶどう」と抽出したいのです。 オートフィル機能を使いやってみましたが、 A列に後からデータを追加すると追加データまでは拾えませんでした。 よろしくお願いいたします

  • ある項目の種別だけ抽出する方法

    Excel2010です。 銀行明細書の項目毎の整理を行いたいのですが A列に日付、 B列に金額、 C列に電気代や水道代、ガス代といった項目の名称 が入っています。 C列から検索して、 電気代の行のみを全て抽出して 日付、金額をまとめるようなことをしたいのですが どうすれば良いですか? VBAが必要でしたら その方法を教えてください。

  • EXCEL、複数の条件からデータを抽出

    EXCELを使って複数の条件からデータを抽出したいです。 条件は 利用した施設、開始時間、終了時間の3つから条件にあう金額を抽出したいです。 VLOOKUPでは一つの条件からでしか抽出が出来ないので困っています。 A列に利用した施設、G列に開始時間、H列に終了時間が並んでいます。K列に金額を抽出したいです。 それぞれの時間、施設ごとの料金表をつくってそこから抽出しようと思っています。使用出来る関数やそれ以外にもやり方などあればご教授頂ければと思います。宜しくお願い致します。

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • EXECL・複数タブからのデータ抽出

    同一Book内での処理です。 今現在の処理内容です タブAには抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブBには抽出キー・抽出結果を表示するようにしています。 セルA1・・・抽出キー1 セルB1・・・抽出キー2 セルC1・・・抽出キーを合成 <=CONCATENATE(A1,"→",B1)> セルD1・・・データ抽出 <=VLOOKUP(C1,タブA!$A:$C,2,FALSE)> したいことは タブAのデータと同一内容のデータが複数タブに存在するときのデータ抽出する場合はどうすればよいのでしょうか? タブA(リンゴ)には抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブB(みかん)には抽出されるデータがあります。 セルA1・・・抽出キー セルB1・・・抽出データ1 セルC1・・・抽出データ2 タブCではセルA1の内容によって抽出するデータのタブを選択しデータを抽出したい セルA1・・・抽出キー1 セルB1・・・抽出キー2 セルC1・・・抽出キーを合成 <=CONCATENATE(A1,"→",B1)> セルD1・・・データ抽出 <=ここの計算式が知りたい タブCのセルA1の抽出キーに(リンゴ)と入力されていればタブA(リンゴ)のシートよりデータ抽出 タブCのセルA1の抽出キーに(みかん)と入力されていればタブB(みかん)のシートよりデータ抽出 単にいえば、データ抽出するタブを指定して<VLOOKUP関数>を利用できるのか? できないなら実現できる手法を教えていただきたいです。 説明が難しいですが、内容がわかっていただけたでしょうか? 達人からの回答よろしくお願いいたします

  • 行抽出・関数・複数条件

    以下の質問をみて、一つの条件のものを作ることは出来ました。 しかし、AND()やCOUNTIFS()などを用いながら自分なりに複数条件の行抽出をしてみようとトライしてみたのですが、きちんとした行を返してくれません。 どなたか、以下の質問を少し変えて、 ************************************************************** <A列> <B列> <C列> 7/1 りんご 100円 7/2 ぶどう 200円 7/2 すいか 300円 7/3 みかん 100円 このような表があって、100円とりんごを含む行をそのままの形で、 別のセル(同じシート内)に抜き出したいのですが。 7/1 りんご 100円 ************************************************************** といった表示をする関数を書いていただけないでしょうか。 よろしくお願いします。 http://okwave.jp/qa/q3200952.html

  • エクセルで項目を抽出したい

    皆様のお知恵をお貸しください。 日々作業者が行っている日報の項目を一覧表より抽出したいのです。 シート1には受付日(A列) 品番(B列) 数量(C列) 納期(D列)・・・ などが記入されています。日々増えていき月あたり100件程度です シート2には作業者の日報に書かれている品番(A列)、作業時間(B列)、作業者名(C列)作業日時(D列)を手入力していきます。 月当たり1000ほどの入力になります。 複数の作業者が同じ仕事をすること、日をまたぐこともあり重複しています。 求めたいことはシート3のA列にシート2で書かれた品名をシート1の品名の中から抽出し自動で書き出したいのです。 今はピボットを使いシート2のデータを表にして、そこの項目をLOOKUP関数を用いて導きだしていますが、その都度ピボットを更新させないといけないので煩わしいと思い、できれば関数で抽出をしたいのです。欲を言えば品番の若い順に自動で抽出できればいいのですが、まずはシート2に書かれた順でもかまいません。 記入例 シート1には A列    B列    C列    D列 10/1   10001    30    10/12 10/2   10002    1     10/5 10/2 10003 3 11/5 ・       ・        ・ シート2には  A列    B列     C列    D列 10001    2.5     ○○   10/2  9058    4      ○○   10/2 10003 1 ○○   10/3 10001 1 ××   10/3  10003 6 ××   10/3 10002 2 △△   10/5 シート3には(希望としては)  A列     9058 10001 10002 10003 . . . よろしくお願いします。     

  • エクセル、複数あるデータを順番にピックアップする方法

    すみません、教えてください。 下記のようなデータの中から、たとえばC行の中から”りんご”に当てはまるデータを検索し、その列のA行とB行を抽出したいとすると、どのような方法がありますでしょうか。 別の空のシートに抽出したいのですが、よくわかりません。 よろしくご教授ください。お願い致します。 【元データ】     列A   列B   列C   列D   … 列1  八百丸  渋谷区  りんご  100 列2  八百吉  港 区  みかん  80 列3  八百屋  新宿区  か き  100 列4  八百正  新宿区  りんご  200 【求めたい検索結果】 八百丸 渋谷区 八百正 新宿区