• ベストアンサー

EXCELで表を抽出する

・A列に日付、B列に件名を入力した表があります。 ・A列の日付は、ランダムに、繰り返し現れます。 この表から、たとえば7月だけの、A列に日付、B列に件名の表を抽出する場合、 手動でする場合は、最初の表を日付順にソートし、黙視で7月分をコピーし、別表に貼り付ける、というやり方でできますが、 数式や関数で自動的にやる方法はないでしょうか? マクロが必要になりますか?

  • kt1
  • お礼率41% (54/130)

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

  • ベストアンサー
回答No.2

こんにちは お望みの回答なのかどうか、あまり自信がありませんが、次のような式を考えてみました。 2行目から入力されてるとします。 入力シートのC列に、=IF(MONTH(A2)=7,MAX(C$1:C1)+1 の作業セルを作成して下の入力されてる行までコピーし、目的の7月の場合に番号を入れます。C1は空白にしないとエラーになりますから注意。 いろんな月を検索するのであれば、例えばD1に取出す 月を入れるようにし、式の中の 7は$D$1とした方が いいと思います。 次にSheet2の2行目から表示させ、100行まであるとして A列の2行目から 1~ の番号を入力しておきます。 B2 に =DAY(INDEX(Sheet1!$A$2:$C$100,MATCH($A2,Sheet1!$C$2:$C$100,0),1)) C2 に =INDEX(Sheet1!$A$2:$C$100,MATCH($A2,Sheet1!$C$2:$C$100,0),2) このB2,C2を下にコピーしてOKです。 D列に =MATCH($A2,Sheet1!&C$2:$C$100,0)の 作業列をつくれば、MATCH関数のところは D2で いいはずですね。 的外れの回答でしたら無視してください。

kt1
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり申し訳ございません。 のぞんでいることができそうです。

その他の回答 (2)

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

回りくどいですが関数でできます。 年月を取り出した列を作ります。 別列にCOUNTIF関数を使って、自分の行までで数えて同じ月分で上からの何番目かを番号を振ります。 別シートに移って、そのシートの第1行目は上記の1番目を、2行目は2番目を持ってきます。OFFSET関数などを使う。 似た実例は私の過去回答に沢山あります。本日の質問の中で日付順ソートなども回答しましたが、似た問題です。 よければ見てください。imogasiのところをクリックしていただければ、上記例は2、3問前に出てきます。 これらは値しかもってこれません。書式などは無理です。

kt1
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなり申し訳ございません。 大変参考になりました。

  • pascal01
  • ベストアンサー率28% (18/63)
回答No.1

2つのブックを作って、1つをデータのリスト。 もう1つをデータの結果とします。 データの結果のシートで、[データ]の[外部データ..]の[新しいデータベース..] を選択して、データのリストを指定すれば、ソート&コピーがブックに関数として埋め込まれます。もちろんマクロも使うことはできますが、この方法が自動化業務には向いています。 また、単純に7月だけを抽出するならば、データのフィルタ機能を使えば簡単にできます。ただしこちらはデータの並び替えはしてくれません。 したがって、自動処理が重要なのか、手軽さが重要なのかによって回答が違うのでもう少し補足されたほうがいいと思います。

kt1
質問者

お礼

ご回答ありがとうございました。 お礼が遅くなり申し訳ございません。 自動処理を重視しています。

関連するQ&A

  • エクセルで表の抽出

    Windows2000でExcel2000を使っています。 一応VBを使っています。 そこで、 荷主マスターみたいな表があります。 A列にふりがな、B列に漢字、C列に4月の売上個数・・・O列に3月の売上個数が入っています。 表は、あいうえお順でソートされているのですが、 そのうちの、ア行の1月分だけ抽出し別の場所に貼り付けたいのですがうまくいきません。(当然その後に、カ行の1月分・・・ン行の1月分と作業をする。)   A    B   C ・・・・  M  N  O ふりがな 漢字 4月 ・・・・1月 2月 3月  あ    亜   2      3  5  3  い    井   4      2     2  う    卯   1          2  か    化          1  2  4  さ    差   3       5  6  2 こんな感じの表です。        つまり今月は、A列のア行 B列のア行 M列のア行を抽出する。 来月は、AとBは同じで2月N列を抽出する。 マクロを使い自動化したいので、VBに詳しい方教えてください。 分かりづらい質問で申し訳ありませんが、よろしくお願いします。

  • この条件を抽出できるエクセルの式を教えてください

    A列(A2からA602)にグループ名、B列(B2からB602)に対応日が入っているデータがあります。ただし、未対応の場合には日づけは空欄です。 今、A列であるグループを抽出し、B列にまだ日付が入っていない(未対応)の件数を出したいのです。 COUNTIF(A2:A602,"抽出したいグループ名")とCOUNTBLANK(B2:B602)あたりの関数を使うのかな・・・と思って試行錯誤してみましたが、数式ができません。 アドバイスをお願いします。

  • エクセルの関数教えて下さい。

    A列       B列       日付or#EMPTY  日付or#EMPTY   のうちA列に日付が入っていてB列に日付が入っていないものを抽出する数式 A列       B列        日付or#EMPTY  日付or#EMPTY のうちA,Bともにひづけがはいっているものを抽出する数式 を教えて下さい。 よろしくお願いします。

  • エクセル関数(抽出)について(再)

    先の質問が悪かったようですので再度質問致します。     A  B  1 219 2  2  13 9  3 824 9  4 118 6  5   6 5  6 333 9   7  19 6  8 461 1  9  83 6 10 177 2  ランダムに配列された上記表からB列の9と6に該当するA列の降順に以下のように抽出したいのです。 9 824 9 333 9  13 6 118 6  83 6  19 ちなみに9と6は自動で抽出できれば一番良いのですが、入力でも構いませんので御回答宜しくお願い致します。

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

    いつもお世話になっております。 以下の操作についてご教示をお願いいたします。 使用しているエクセルは2007です。 Sheet1 A列:2010年~の日付(昇順に記載し、発生日はランダム)が記載され、 B列以降は日付に対応したデータが記載された表が有ります。 Sheet2に同じ表の形式で2013年以降のデータを抽出したいのですが。 どのような方法がありますでしょうか? INDIRECT関数なんかを使って試行錯誤したのですが・・・わかりません。 どなたかご教示をお願いいたします。

  • エクセルの集計表で質問です。

        A     B     1  10000   日付 2  15000   日付 3  15000   日付 4  24000   日付 5 4月合計数値 という表があったとします。 まず、この表で"B1"のセルに4月の任意の日付を入力すると、横の"A1"の数値"10000"が"A5"に表示されます。 そして"B2"以降のセルに4月の日付が入力されるとその横の列Aの数値を"A5"に加算表示させるようにしたいのです。4月以外の日付は"A5"に加算表示させないようにします。 つまり、列Bに4月日付(例、『2003/4/25』)が入力された時のみ、その横の列Aの数値が"A5"に加算されていくようにしたいのです。 このような事を数式で実現する事は可能ですか? 可能ならば手段を教えて下さい。 説明が難しい・・・

  • エクセルのデータ抽出で。

    エクセルで以下のようのな、 3列を持つ表があるとします。 日付    コード   名称 20090901  001    Aさん 20090904  002    Aさん 20090905  003    Aさん 20090901  023    Bさん 20090902  024    Bさん 20090903  025    Bさん ----------------------------------------- まず名称でデータを絞り、 更に一番新しい日付のデータのみ取得したいのですが。 20090905  003    Aさん 20090903  025    Bさん VBAでもなんでもよいので、 抽出の仕方があればお願いします。

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

    列に時間帯別の使用量、行に日付毎の表から日付別に最小値と最大値が発生した時間帯を別表に抽出する方法を教えてください。 参考に表を添付します。 よろしくお願いします。

  • EXCEL での抽出

    下記の表から 種別A B C で抽出して 別表を作成したいのですが ご教授願います 種別 受付 日付 内容 A 一郎 2008/5/2 ヒット C 太郎 2008/5/4 三振 A 一郎 2008/5/10 ヒット B 三郎 2008/5/3 ホームラン 空欄も混在します C 三郎 2008/5/6 三振 B 太郎 2008/5/3 ヒット 上記の表から 種別A 一郎 2008/5/2 ヒット 一郎 2008/5/10 ヒット 種別B 三郎 2008/5/6 ホームラン 太郎 2008/5/3 ヒット 種別C 太郎 2008/5/4 三振 三郎 2008/5/6 三振 という 種別ごとに抽出した表を作成したいのですが お教え下さい

  • excelのVBAを利用し検索抽出を行う方法

    検索というよりデータの抽出の方が正しいかもしれません。 現在、顧客情報を種類別でシートに分けて表で管理しています。 情報には名前などの文字列、日付、時間などが含まれます。 この表の形式を説明すると、 ・列 … B~AI まで項目があります。(A列は使用していません) ・行 … 1行で1つのデータとなります。 ・行数…シートにより行数は異なります。 この形式の表が全部で14シートあります。 このシートのB列に「未・済」のステータスがあるのですが、 すべてのシートの「未」である行のデータを"Sheet1"に抽出させたいと考えています。 さらに、抽出されたデータの"D"列の日付にソートされるようにしたいのですが、 説明がわかりづらかったら申し訳ありません。 VBA初心者のためご教授いただければと思います。 よろしくお願いします。

専門家に質問してみよう