• ベストアンサー

エクセルで生年月日を入力しいろいろ検索する方法

いつもお世話になっています。 今回も判らないので、教えてください。 まず、シート1のH1にTODAY関数をいれ、本日の日付を表示させてます。(例:2008/12/13) A5に、ナンバー(例:NO.1)、 B5に名前(例:山田花子)、 C5に生年月日(例:2001/12/4)、 G5に年齢を出すために=DAY360(C5/360,$H$1/360,FALSE)を入力しています。 シート2にA5にナンバー(例:NO.1)、 B5に名前が=VLOOKUP(A5,'Sheet1 (2)'!A5:B200,2,FALSE) C5に生年月日の年(例:2001) D5に生年月日の月(例:12) E5に生年月日の日(例:4) G6に年齢=VLOOKUP(A5,'Sheet1 (2)'!A5:G200,6,FALSE)を入力し、4行目のA~Eには見出しをつけています。(例:A4には“ナンバー”、B4には“名前”)。 4行目にオートフィルタを付け、○月生まれの人は、誰がいるのか?を見れるようにしてます。 シート1はデーターの入力画面とて、シート2では検索画面と使用してますが、生年月日はこの様に2度打ちしないとできないので、とても面倒です。 生年月日を一度入力するだけで、年齢表示と、○月生まれの人が誰なのかを調べるのもできる方法はありますか? ちなみに、シート2にオートフィルタを付けることにより、名前の順(あ行~)の並び替えに役立っています。 もし、今回の質問でオートフィルを使用しない方法であれば、大変恐縮ですが、名前の順での表示もできるようにお願いします。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>生年月日はこの様に2度打ちしないとできないので、とても面倒です。 シート2にA5にナンバー(例:NO.1)、 B5に名前が=VLOOKUP(A5,'Sheet1 (2)'!A5:B200,2,FALSE) C5に生年月日の年(例:2001) D5に生年月日の月(例:12) E5に生年月日の日(例:4) を シート2にA5にナンバー(例:NO.1)、 B5に名前が=VLOOKUP(A5,'Sheet1 (2)'!A5:B200,2,FALSE) C5に生年月日の年 =YEAR(VLOOKUP(A5,'Sheet1 (2)'!A5:E200,3,FALSE)) D5に生年月日の月 =MONTH(VLOOKUP(A5,'Sheet1 (2)'!A5:E200,4,FALSE)) E5に生年月日の日 =DAY(VLOOKUP(A5,'Sheet1 (2)'!A5:E200,5,FALSE)) でシート1に入れた誕生日の 年と月と日が得られるので2度入力はしなくてすむと思いますが。

totorapa
質問者

お礼

ありがとうございます。 少し訂正で、年月日のVLOOKUPの列番号はすべて‘3’で、すべて完ぺきにできました。 本当に助かりました。 丁寧に教えていただき、とっても感謝しています。 この方法で、処理してみます♪ 本当にありがとうございました!!

その他の回答 (2)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.3

回答番号:No.1 です 訂正してください Sheet1 G5(年齢の式) =DATEDIF(C6,$H$1,"y") Sheet2 A5 =Sheet1!A5     ナンバー(例:NO.1) B5 =Sheet1!B5     名前 C5 =YEAR(Sheet1!$C5) 年 D5 =MONTH(Sheet1!$C5) 月 E5 =DAY(Sheet1!$C5)  日 G6 =Sheet1!D5     年齢 

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

次のように修正してみてください。 Sheet1に入力すると自動的にSheet2が変わります。 お試しを Sheet1 G5(年齢の式) =DATEDIF(C5,H1,"y") Sheet2 A5 =Sheet1!A5     ナンバー(例:NO.1) B5 =Sheet1!B5     名前 C5 =YEAR(Sheet1!$C$5) 年 D5 =MONTH(Sheet1!$C$5) 月 E5 =DAY(Sheet1!$C$5)  日 G6 =Sheet1!D5     年齢    

totorapa
質問者

お礼

ありがとうございます。 DATEDIFのほうが、便利ですね。これ使わせていただきます。 年月日は本当に簡単な関数でできるのですね。っとっても参考になりました。 gyouda1114さんの例)=YEAR(Sheet1!$C$5)を使わせていただきたいのですが、ドラッグができないのが残念です。$を外すと不安定??ですしね。 しかし、固定された表(列を削除させたり、挿入させたりしない表)のときはぜひ、この方法を使用したいと思います♪ 本当にありがとうございました。

関連するQ&A

  • エクセルで多数のシートから条件に合うものを呼び出す場合。

    いつもお世話になっております。 エクセルで下記のことはどうすればできるのか教えてください。 Sheet1 A1“ナンバー”、B1~F1“NO.1~NO.5” A2“氏名”、B2~F2“Bさん~Fさん” A3~A14“1月~12月” B3~F14は個々それぞれの金額が入っています。例)“23,000” Sheet2~Sheet5にはSheet1と同じ表がありますが、金額のB3~F14が違います。(なので、Sheet1と連携されていません。) Sheet6 A1~A5“NO.1~NO.5”、 B1~B5“Bさん~Fさん”っと個人ナンバー表みたいなのを作っています。 ここで、質問です! Sheet7 A1にナンバー“例)NO.5”を入力するとB1に名前が出る“例)Fさん”ようにしてます。B1に=VLOOKUP(A2,Sheet6!A1:B5,2,FALSE)。 たとえば、C1に“1”っと入力するとSheet1(“2”ならばSheet2)のFさん(B1に表示された方の名前)の金額を呼び出して、C3~C14に金額を表示させるにはどうしたらいいですか? よろしくお願いします。

  • Excelの検索について

    シート1に、 A列 B列 C列 …G列 氏名 番号 年月日1 …年月日2 が入力されています。 B列[番号]が"3"のときのみ、それと同じ行のA列[氏名]、C列[年月日1]、G列[年月日2]をシート2に、上から詰めて返す方法を教えてください。 難しく考えずに、VLOOKでいけるのでしょうか。

  • EXCEL VLOOKUPで含む検索

    _|    A    |  B   | C  | | Z | 1 |赤いイチゴ |みかん |\30 | |   | 2 |        |リンゴ  |\50 | |   | 3 |        |イチゴ  |\80 | |   | A1に検索値(例:赤いイチゴ)を入力すると、検索範囲(B:C列)のっている単語が含まれていれば値段をZ1に表示したいのですが、うまくいきません。 検索値が一致ならば、=VLOOKUP(A1,$B:$C,1,FALSE)だとおもうのですが、=VLOOKUP("*"&A1&"*",$B:$C,1,FALSE)だと#N/Aエラーが出ます。 どなたか、知恵をお貸しください。

  • エクセルのデータ検索について・・・

    はじめまして。 みなさまのお力が借りたく、質問いたします。 わかりずらい質問だとは思いますが、宜しくお願い致します。 例として、エクセルのファイルが2個あるとします。 A.xls B.xls とします。 AにはIDを入力するシートが1枚 BにはそのIDの人の名前・住所・生年月日などを規則性無く入れてあるシートが7枚程あるとします。 AのID列に「10」といれると Bの全7枚のシートの中から該当する人のデータを抜き出し、 Aの所定のセルに表示する。といった事は可能でしょうか? VLOOKUP関数を使ってみたのですが、検索するシートを1枚じゃないとダメみたいで・・・ シートを複数指定するとエラーになってしまいます。 問題は、抜き出したい「ID 10」が7枚のシートの中の何枚目にあるかがわからないのです。 ちなみに、該当する「ID 10」があるシートには必ず名前、住所、生年月日も同じ列に付随して存在します! このようなことは不可能なのでしょうか? もし可能ならばどうしたらいいか教えてください! 宜しくお願い致します。

  • ExcelのVLOOKUP関数の動作をMySQLでやる方法ありますか?

    ExcelのVLOOKUP関数の動作をMySQLで やりたいのですが、方法はあるのでしょうか? たとえばExcelでは Sheet1に顧客情報 A列      B列  C列 利用者コード  名前 電話番号 AAA      田中 03-0000-0000 BBB      佐藤 03-0001-0001 CCC      山口 03-0002-0002 Sheet2に利用履歴 A列 B列      C列 No. 利用者コード 名前 1  AAA  =VLOOKUP(B2,Sheet1!A:C,2,0) 2  CCC  =VLOOKUP(B3,Sheet1!A:C,2,0) 3  AAA  =VLOOKUP(B4,Sheet1!A:C,2,0) 4  BBB  =VLOOKUP(B5,Sheet1!A:C,2,0) 5  CCC  =VLOOKUP(B6,Sheet1!A:C,2,0) ExcelではSheet2を上記のようにすれば 利用者コードからSheet1のB列に入力されて いる名前を参照できますよね。 MySQLのテーブルは テーブル1はSheet1と同じ テーブル2はNo. 利用者コードだけで名前はありません。 Sheet2のような出力結果・参照方法を MySQLでやる方法はありますか? SELECT文で出力できるのならベストですが その他の方法がありましたらそちらの 方法も教えていただきたいです。 やはりMySQLのレコードをCSV形式か何かで出力して Excelで処理したほうがいいんでしょうか? どなたかご教授願います。

    • ベストアンサー
    • MySQL
  • エクセルの生年月日データ抽出について

    エクセルで生年月日を入力しました。 A列…名前 B列…19**/++/!!(生年月日) といった感じです。 その中で、ある一定の月に生まれた人(例えば5~7月生まれとか、です)を抽出したいのですがどうにも上手く出来ません!! どなたか良い方法を教えて下さい!!

  • Excel INDIRECT

    お世話になります。 INDIRECT関数で、 =INDIRECT("A1")は、=A1と同じように、A1セルを参照しますが、 =VLOOKUP(A1,B1:C19,2,FALSE)を、==INDIRECT("VLOOKUP(A1,B1:C20,2,FALSE)”)で囲むと#REF!エラーになります。 目的は、A2セルにSheet2!B1:C20の範囲を示す文字列を入れて、=INDIRECT("VLOOKUP(A1,"&A2&",2,FALSE)”)としたいと思っています。 #REF!エラーの原因を教えていただけないでしょうか。 よろしくお願いします。

  • エクセルのindirectの使い方について

    今、セルに「=VLOOKUP($C$3,'1A'!$A$6:$AA$103,C$4,FALSE)」 と入っているとします。 シート名が「1A」というところを見ています。 シートが1A~6Aまであるので上記「」と同じシートに A1~A6のセルに1,2,3,4,5,6と入力してindirect関数を使って =VLOOKUP($C$3,'1A'!$A$6:$AA$103,C$4,FALSE)の「'1A'!」の部分を 修正したく思っています。 どのようにしたら良いのですか?

  • excelで文字列を検索する関数を教えてください。

    いつもお世話になります。 エクセルの関数で、シートAのセルA1に入っている文字列をシートBのC列から探し出し、同じ文字列があればTrueをなければFalseを返す関数を教えてください。 わからないながらも色々調べてみたのですが、検索にはVLOOKUPがよく使われているようですが、シートBのC列は、データの並べ替えができないので、VLOOKUPは、使えないのです。 よろしくお願いします。

  • エクセルの並べ替え・・・

    エクセルで並べ替えをしたいんですが、思うようにいきません。教えてください。 A列:日にち B列:ナンバー C列:名前   が入っています。 C列には、関数が入っています。 B列にナンバーを入力すると、名前が自然に入るようになっています。 関数は、 =IF(B2="","",VLOOKUP(B2,' 名 簿 '!$A:$B,2,FALSE)) です。 A~C列を選択して、 C列(名前順)に並び替えをすると、(データ→並び替え) 空欄のセルが上の方に来て、日にち、NOが入力されているセルは、下の方で並び替えされている状態です。 入力されているセルを上にするには、どのようにすればいいのか、教えてください

専門家に質問してみよう