• ベストアンサー

期間設定データから特定の日付のものを抽出したい!

エクセル2010の同一シート内に、初日と最終日が設定された催事のデータが大量にあります。 そこから、特定の日付に開催されている催事を抽出したいのですが、どのような関数を用いれば 実現できるでしょうか? <データの内容> イベントタイトル、初日、最終日 例)●●独演会、2013/4/1、2013/4/8 例)××座談会、2013/4/2、2013/4/4 例)▲▲ひとり会、2013/4/3、2013/4/4 ここから、例えば4/7に行われている公演(上記例であれば●●独演会)を抽出したいのです。 どうぞよろしくお願いいたします!

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

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

D1:確認したい日付 D2:お答え =IF(A2="","",IF(COUNT(B2:C2)=2,IF(AND(D$1>=B2,D$1<=C2),"○","×")&IF(D$1=B2,"初日","")&IF(D$1=C2,"最終日",""),"???")) 以下、コピー 大量にあれば、マークされたものだけをフィルタ、、、

aitatata23
質問者

お礼

イメージ通りのものが出来ましたー。 ありがとうございます!!!

その他の回答 (4)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.5

出来ました、 見出し行は1行だけとしました。 A列~C列の間の、見出しより上に 何か書かれると 結果に影響が出ますので それはお控えください。 式はこうです =IF(SUMPRODUCT((OFFSET($A$4,1,1,MIN(COUNTA($B:$B),COUNTA($C:$C))-1)<=$E$4)*(OFFSET($A$4,1,2,MIN(COUNTA($B:$B),COUNTA($C:$C))-1)>=$E$4))>=ROW(A1),OFFSET($A$1,LARGE(INDEX((OFFSET($A$4,1,1,MIN(COUNTA($B:$B),COUNTA($C:$C))-1)<=$E$4)*(OFFSET($A$4,1,2,MIN(COUNTA($B:$B),COUNTA($C:$C))-1)>=$E$4)*ROW(OFFSET($A$4,0,1,MIN(COUNTA($B:$B),COUNTA($C:$C))-1,1)),0,0),ROW(A1)),0,1,1),"") 入力後、 必要なだけ下に セルをフィル、又はペーストしてください。 http://sdrv.ms/12V4F4D に、サンプルを置いていきました。 良ければお使いください。 如何でしょうか? お役に立てていたならば幸いです。

aitatata23
質問者

お礼

サンプルシートまで!すごい。ありがとうございます!!

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

「どうしたい」のか特段ご指定がありませんので。 ホームタブの「並べ替えとフィルター▼」からオートフィルタを取り付け,初日が4/7以前,最終日が4/7以降で絞り込むのが,一番簡単で手っ取り早い方法です。 #参考 こういうご相談では「やっぱり関数」と皆さん言いますので。 A列にイベント名 B列に初日日付 C列に最終日日付 D1に 2013/4/7 を記入 D2に =IF(AND(B2<=$D$1,$D$1<=C2),ROW(),"") と記入,以下コピー F1に =IF(ROW(F1)>COUNT(D:D)-1,"",INDEX(A:A,SMALL(D:D,ROW()))) と記入,以下コピー。

aitatata23
質問者

お礼

ありがとうございます。当該上演のタイトルだけを吐き出すなんてことが出来るんですね~。

noname#195146
noname#195146
回答No.2

 #1です。抽出条件を真逆に間違えました。  以上と以下が逆でした。全部消えちゃうじゃないかあっ!>自分orz  全文掲載しなおします。大変申し訳ありません。m(_ _)m ---------------------------------------  抽出に多少手間がかかってもいいなら、以下のようにすればできます。  初日と最終日のセルを指定して、メニューの「データ」→「フィルタ」→「オートフィルタ」を指定します。  初日のセルのオートフィルタをクリックして「(オプション)」を選び、「初日」のところに希望日付を入れ、右隣を『以下』(←訂正箇所1)にします。→希望日を含む、それ以降のイベントタイトルだけが表示されます。  最終日のセルのオートフィルタをクリックして「(オプション)」を選び、「最終日」のところに希望日付を入れ、右隣を『以上』(←訂正箇所2)にします。→さらに希望日を含む、それ以前のイベントタイトルに絞り込まれます。  上記の二つの希望日を一致させず、ある期間として抽出することもできます。 P.S.  日付指定一つで抽出したい場合は、いろいろ工夫する必要がありそうです。  何かありましたら、補足欄で仰せつけください。

aitatata23
質問者

お礼

そうか、フィルタで出来るんですね~。これは簡単だ。 ありがとうございます!

noname#195146
noname#195146
回答No.1

 抽出に多少手間がかかってもいいなら、以下のようにすればできます。  初日と最終日のセルを指定して、メニューの「データ」→「フィルタ」→「オートフィルタ」を指定します。  初日のセルのオートフィルタをクリックして「(オプション)」を選び、「初日」のところに希望日付を入れ、右隣を「以上」にします。→希望日を含む、それ以降のイベントタイトルだけが表示されます。  最終日のセルのオートフィルタをクリックして「(オプション)」を選び、「最終日」のところに希望日付を入れ、右隣を「以下」にします。→さらに希望日を含む、それ以前のイベントタイトルに絞り込まれます。  上記の二つの希望日を一致させず、ある期間として抽出することもできます。 P.S.  日付指定一つで抽出したい場合は、いろいろ工夫する必要がありそうです。  何かありましたら、補足欄で仰せつけください。

関連するQ&A