重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

初めまして。
いろいろ見てみたのですが解決しなかったので教えて下さい。

Sheet1には
    受付日  氏名  生年月日  住所
     A    B    C    D 
1 2007/10/1 左藤  S50.10.10  大阪府
2 2007/10/1 鈴木  S57.04.25  奈良県
3 2007/10/2 吉村  S49.09.17  鳥取県
4 2007/10/8 山田  S49.09.09  東京都
5 2007/10/9 伊藤  S50.10.13  愛知県
6 2007/10/9 上田  S57.04.19  福岡県

上記のようなデータを下記のようにSheet2に生年月日でデータを抽出したいのですが抽出したい年月をA1に入れたらデータがとんでくるようにするにはどうすれば良いでしょうか?教えて下さい。

     A    B    C    D 
1  S50.10
2 2007/10/1 左藤  S50.10.10  大阪府
3 2007/10/9 伊藤  S50.10.13  愛知県

VLOOKUPで作ってみたのですが一つしかとんでこなくて下記のように全て表示でません。
     A    B    C    D 
1  S50.10
2 2007/10/1 左藤  S50.10.10  大阪府
3 2007/10/1 左藤  S50.10.10  大阪府

どうかよろしくお願いします。

A 回答 (4件)

次の方法は如何でしょうか。


(1)生年月日(表示形式はge.m.d)及び抽出年月(表示形式はge.m)は内部シリアル値としています。
(2)シート1のデータ範囲は7行としていますので調整して下さい。
(3)数式をA2に設定し、必要分縦横にコピーして下さい。
 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。

=IF(SUMPRODUCT((YEAR(Sheet1!$C$2:$C$7)=YEAR($A$1))*(MONTH(Sheet1!$C$2:$C$7)=MONTH($A$1)))>ROW($A1)-1,INDEX(Sheet1!A:A,SMALL(IF((YEAR(Sheet1!$C$2:$C$7)=YEAR($A$1))*(MONTH(Sheet1!$C$2:$C$7)=MONTH($A$1)),ROW(Sheet1!$A$2:$A$7),99999),ROW(A1))),"")
    • good
    • 0
この回答へのお礼

早速のお返事有り難うございます。
コピーしてやってみたのですですがうまく表示されません・・・
多分原因は入力完了時にshift+ctrl+enterキーを同時押だと思うんですがこの同時押しはどの部分でするのでしょう?
Sheet2のA1に値を入れた時でしょうか?
それ以外は入力する場面がないのですが・・・
よろしくお願いします。

お礼日時:2007/11/22 10:52

[ANo.2この回答へのお礼]に対するコメント、



「以下同様」としたのは、ステップ6以降も Sheet2 における操作ですよ、のつもりでした。
ステップ3、4は繰り返す必要はありません。


》 数値F2をF3に変えたりしなくていいのでしょうか?

「数値F2」の意味が分かりません。F2 というのは F列の2行目のこと、つまりセル番地のことで、数値とは此れ如何に?


》 リスト内のセルを一つ選択して再度コマンドをクリックして下さい。と表示されます。

その「表示」には同時に「選択範囲またはリストの先頭行を、データとしてではなく、見出しとして使用する場合は、[OK] をクリックします」とも書いてあるでしょ?
[OK]をクリックしてみましたか?
    • good
    • 0
この回答へのお礼

ありがとうございました。出来ました。
お手数をお掛けしてスミマセンでした。

お礼日時:2007/11/28 11:06

No1です。

次の方法をお試し下さい。
回答文の数式をコピー→シート2のA2をクリック後、数式バー欄をクリック→貼り付け→shift+ctrl+enterキーを同時押下
    • good
    • 0
この回答へのお礼

ありがとうございました。
出来ました!!

お礼日時:2007/11/28 11:05

Sheet1


    A    B    C    D
1 受付日   氏名 生年月日  住所
2 2007/10/01 左藤 S50.10.10 大阪府
3 2007/10/01 鈴木 S57.04.25 奈良県
4 2007/10/02 吉村 S49.09.17 鳥取県
5 2007/10/08 山田 S49.09.09 東京都
6 2007/10/09 伊藤 S50.10.13 愛知県
7 2007/10/09 上田 S57.04.19 福岡県
8

Sheet2
    A    B    C     D  E  F
1 生年月
2 S50.10                 TRUE
3 受付日   氏名 生年月日  住所
4 2007/10/01 左藤 S50.10.10 大阪府
5 2007/10/09 伊藤 S50.10.13 愛知県
6

1.範囲 Sheet1!A1:D100 に名前 dbase という名前を定義
  (dbase は他の文字列でも可)
2.セル Sheet2!A2 に日付形式で S50.10.1(または 1975/10/1)と入力して、
  此れを“ユーザー定義”で ge.m に書式設定
3.セル Sheet2!F2 に式 =AND(Sheet1!C2>=A$2,Sheet1!C2<=EOMONTH(A$2,0))
  を入力
4.範囲 Sheet2!F1:F2 および Sheet2!A3:D3 に、それぞれ名前 criteria お
  よび extract を定義
  (スペルを間違えないこと!)
5.Sheet2 において(以下同様)、[データ]→[フィルタオプションの設定]を実行
6.“指定した範囲”に目玉入れ
7.[リスト範囲]ボックス内にマウスカーソルを入れて、dbase と入力
8.[検索条件範囲]ボックス内にマウスカーソルを入れて、criteria と入力
9.[抽出範囲]ボックス内にマウスカーソルを入れて、extract と入力
10.[OK]をクリック
    • good
    • 0
この回答へのお礼

早速のお返事有り難うございます。
やってみたのですがちょっとわからない部分があるので教えて下さい。
5.Sheet2 において(以下同様)とありますがそれは
3.セル Sheet2!F2 に式 =AND(Sheet1!C2>=A$2,Sheet1!C2<=EOMONTH(A$2,0))
  を入力
4.範囲 Sheet2!F1:F2 および Sheet2!A3:D3 に、それぞれ名前 criteria お
  よび extract を定義
  (スペルを間違えないこと!)
を繰り返せば良いのでしょうか?また繰り返す時に数値F2をF3に変えたりしなくていいのでしょうか?


またやってみたのですがリストがありません。リスト内のセルを一つ選択して再度コマンドをクリックして下さい。と表示されます。
一度失敗するとまた1からやり直しなのでしょうか?
よろしくお願いします。

お礼日時:2007/11/22 11:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!