• 締切済み

Excelで、文字の抽出・結果表示

Excelで、文字の抽出を行い、その結果を表示させたいのですが、 どのようにマクロもしくはVBを組んでいいのかわからず困っています。 例えば・・・   A             B    C    D 1 日付:2008/1/30   2 タイトル:「あいうえお」 3 内容:「abcdef・・・」 4 番号:7890 5 日付:2008/1/30   6 タイトル:「さしすせそ」 7 内容:「jklmn・・・」 8 番号:54321 B列、C列、D列以降は空白となっています。 上記の中で、タイトル部分の「あいうえお」と「さしすせそ」だけを抽出して、別シートのその結果を表示させたいのですが、 どのようにすればいいでしょうか? ちなみに、上記のデータが膨大にあるので、ボタン一つで結果を表示させたいと思っています。 皆様、よろしくお願いいたします。

  • yten
  • お礼率40% (2/5)

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

シート1のデータからシート2のA列へ転記 Sub try()  Dim r1 As Range  Dim r2 As Range  Dim r As Range    With Worksheets("Sheet1")       Set r1 = .Range(.[A1], .Cells(Rows.Count, 1).End(xlUp))  End With  Set r2 = Worksheets("Sheet2").Range("A1")  With CreateObject("VBScript.RegEXP")       .Pattern = "^タイトル:(\「\D+\」)$"       For Each r In r1       If .test(r.Value) Then          r2.Value = .Replace(r.Value, "$1")          Set r2 = r2.Offset(1)       End If       Next  End With End Sub こんな感じの事ですか?

yten
質問者

お礼

ありがとうございます。 試してみます。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

別シートにタイトルを並べると言う事ですか? ”タイトル”という文字は含まれているのですか?

yten
質問者

補足

ご質問ありがとうございます。 「タイトル」という文字は入れません。 「あいうえお」 「さしすせそ」 を抽出させたいので、よろしくお願いいたします。

関連するQ&A

  • エクセル 抽出マクロについて

    はじめまして。マクロ初心者です。 エクセルで抽出結果を別シートにコピーしたいのですが、 抽出条件が2列にわたっています。 A     B      C      D 日付   タイトル   分類(あ)  分類(い) 11/22   テレビ    3      2 12/15   ラジオ    1      4 11/18   雑誌     2      5 …というような感じです。 例えば分類が「2」のものを抽出したい時に、 ●シート1のあるセルに「2」と入力してマクロを実行。  ↓ ●シート2に以下のように結果をコピーして表示。 A       B 日付     タイトル 11/22     テレビ 11/18     雑誌 という具合にしたいのです。(C列、D列は表示しない) データはシート3に入力されていて、今後どんどん増えていく予定です。 エクセルは2007です。 本やホームページを参考に試行錯誤したのですが、うまくいきません…。 どなたかご回答よろしくお願いいたします。  

  • エクセル 文字が表示されたセルを抽出したい

    エクセルの関数を教えて下さい。    A     B     C     D   1 りんご              りんご 2       プリン        プリン 3             紅茶   紅茶 4 バナナ              バナナ 5      6             緑茶   緑茶 上記のような表があります。(A~は列、1~は行番号です) A1~C6までは、IF関数で、条件にあった場合に“りんご”などを表示、そうでない場合には空白と なるような式が入っています。 そして、D列のように、それぞれの行に表示されている文字を抽出、何も表示されていない場合は空白としたいのです。 D列にはどういった式を入れればよいかを教えて下さい。 ※各行に表示されるのは1つのセルのみで、例えばA1のセルとC1のセルに文字が表示される ことはありません。A1に文字が表示されている場合は、必ずB1・C1のセルは空白です。 宜しくお願い致します。

  • Excelでのデータ抽出

    Excelに複数シートがあり、各シートには以下の内容が記載されてます。  A列 伝票No.  B列 日付  C列 担当者  D列 型番    ・    ・    ・ B列で任意の日付を検索し該当する値があれば、その行(A~D…列)を別シートにコピーし抽出したいのです。 VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。

  • エクセルの抽出なんですが

    すみません、エクセルの抽出について 以前ここで質問させて頂いたんですが、また新たに別の抽出をしたいのですが・・・ VBAでも簡単であればいいのですが、 できれば数式で教えていただけないでしょうか? 内容ですが、 シートA(データ用)の B列に受注番号があります。 C列にその受注番号の詳細として商品名が入っており、 D列にはC列に対しての値段が入っております。 さらに、C列の最後には消費税の項目があり、 同じD列にその消費税の価格が入っています。 これが受注番号ごとに記載があり、 商品の個数は受注番号によって異なります。 これを基にシートB(抽出用)で 受注番号に対して(打ち込めば) その商品の値段を個数分全て抽出させ、最終は合計額が知りたいのですが、 でも、最後にある消費税は除外させたいです。 消費税の抜き方は個数に対して最後なのでこの条件から抜くのがいいでしょうか? 別の列にコード欄があり、消費税のコードは決まっていますので この条件を使ってできますでしょうか? オートフィルタとは違った考え方かなと思ったので こちらで質問させていただいたのですが 本当に申し訳ありませんが、どなたか教えてもらえないでしょうか? 宜しくお願いします。

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

  • エクセルマクロ重複した列を削除した結果を抽出したい

    お世話になります。 各行で、重複したセルを除いた文字列を結合してA列へ表示させたいのですが、全然わからず困っています。宜しくお願い致します。 【抽出前】 セルB2:あいうえお セルC2:かきくけこ セルD2:さしすせそ セルE2:あいうえお セルB3:たちつてと セルC3:らりるれろ セルD3:たちつてと         ・         ・         ・ 【抽出後】 ※重複した部分を除いた抽出結果を、A列に表示させたい セルA2:あいうえおかきくけこさしすせそ セルA3:たちつてとらりるれろ         ・         ・         ・ 【補足】 ※列数は決まっていません。値が入っているところ迄、となります。例では最長E列迄になっておりますが、もっと長い場合もあれば、B列だけの場合もあります。 ※行数は、数100行あります。こちらも値が入っているところ迄、抽出結果をA列のA2から順番に表示させたいです。

  • エクセルで重複しないものだけを抽出したい

    下記のようなデータがあります。 A B C D 1 20 30 40 1 20 32 41 1 20 30 49 1 20 81 39 2 20 76 40 2 20 32 41 2 20 30 49 3 20 81 39 3 20 39 40 3 20 32 41 4 20 30 49 4 20 81 98 このうち、列Aの他と重複しない部分であり、かつ先頭行を抽出するにはどのようにしたらよいでしょうか? 上記の例で言うと、列Aの1から4までのそれぞれ1行目を選ぶという作業です。 抽出後 A B C D 1 20 30 40 2 20 76 40 3 20 81 39 4 20 30 49 vlookupなどの関数でできるのでしょうか?教えてもらえたらうれしいです。お願いします。

  • エクセルでのデータ抽出について

    初めて質問させていただきます。 2つの銘柄の株価データをエクセルにコピペした後、日付と時刻が同じものを行を揃えて抽出したいのですが、いろいろ試してみましたがわかりません。 具体的には次のようにしたいのですが・・・。 【元データ】  A列     B列    C列    D列    E列    F列 ・ ・ 2007/11/9  9:20:00  520  2007/11/9  9:25:00  1544 2007/11/9  9:15:00  514  2007/11/9  9:20:00  1520 2007/11/9  9:10:00  513  2007/11/8  15:00:00  1430 2007/11/9  9:05:00  509  2007/11/8  14:55:00  1425 2007/11/9  9:00:00  501  2007/11/8  14:50:00  1427 2007/11/8  14:55:00  497   2007/11/8  14:45:00  1431 ・ ・ 【抽出後】 ・ ・ 2007/11/9  9:20:00  520  2007/11/9  9:20:00  1520 2007/11/8  14:55:00  497  2007/11/8  14:55:00  1425 ・ ・ どなたか宜しくお願いいたします。

  • Excelでの複数結果抽出がわかりません

    商品の日毎受注個数の一覧表をExcelで作成しています。 A列には日付 B列にはその日の受注個数 が並んでいます。 そしてB列中の最大値、最小値をE1、E2に関数で表示させています。 B列からE1、E2セル参照で最小値を検索し、隣A列の日付をE1の右隣セルから右方向に並べて複数抽出したいのですが、(該当する日付をすべて表示)どのような関数、マクロを書けば良いでしょうか?

  • エクセルの順位抽出について

    Sheet1のA列にコード、B列に商品名、C列に分類 D列に売上数、 E列に売上金額を入力した一覧表があります。 A_1:1000 B_1:牛肉 C_1:食品 D_1:20 E_1:3000 A_2:1050 B_2:お茶 C_2:飲料 D_2:18 E_2:3010 A_3:2000 B_3:鉛筆 C_3:文具 D_3:12 E_3: 900 A_4:2050 B_4:お米 C_4:食品 D_4:12 E_4:9010 A_5:3000 B_5:牛乳 C_5:飲料 D_5:25 E_5:2000 A_6:3050 B_6:定規 C_6:文具 D_6:28 E_6: 700 中略 A_300:10000 B_300:肉まん C_300:食品 D_300:38 E_300:9000 1.食品対象で売上金額の上位20のコードをSheet2のA列に表示 2.全商品対象で売上金額の上位20のコードをSheet3のA列に表示 上記の様な抽出をしたいのですがどの様な関数を使用すれば良いでしょうか? (オートフィルタを使用してのコピペという手作業をなくすためにSheet1の内容が更新されれば自動でSheet2,3の内容も更新されている のが希望です) よろしくお願いします。

専門家に質問してみよう