エクセルで日付を効率的に入力する方法

このQ&Aのポイント
  • エクセルで日付を入力する際に、数字のみを一度に入力してから後から整形する方法について教えてください。
  • 現在はMID関数を使用して数字を分けてからセルを結合していますが、最終的な形式が期待通りにならないため、効率的なやり方を知りたいです。
  • 日付が古い順に並んでいるため、先頭の数字に応じてSまたはHを付けることができるので、その点は手間ではありません。
回答を見る
  • ベストアンサー

エクセル 日付入力について

日付が一覧になっているデータがあります。 S620115 H240901 です。 これをエクセルに入力する作業があるのですが、 上記の例だと S62.1.15 H24.9.1 というように入力しています。(一つのセルに一つの日付で入力しています) これだと、数字の他にアルファベットやピリオドも入ってくるので 入力に時間がかかってしまうので困っています。(データが大量にあるので) できれば”620115”など、数字のみ一度に入力してしまって、 後からなんらかの操作をして”S62.1.15”の形に直して作業時間を短縮 したいのですが、良い方法ありますでしょうか。 試したのはMID関数で、”620115”を”62”、”01”、”15”と三つのセルに 分けて、後から別のセルに”&”を使ってまとめる(その際”S”などの文字もつける) をやってみたのですが、これだと”S62.01.15"という形になるのです。 そのセルをダブルクリックすると、”S62.1.15"に直るのですが、 データが大量にあるので、一つ一つのセルをダブルクリックすると また時間がかかってしまい、最初から直接入力した方が早いかも といった感じになっています。 ちなみに、日付は古い順から並んでいるので、最初にSをつけるかHをつけるか は、途中で一箇所式を変えれば良いのでそれほど手間ではありません。 どなたか、良い方法をご教授いただけますか。 よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

次のような式で良いでしょう。 =VALUE(LEFT(A1,1)&TEXT(MID(A1,2,6),"0-00-00")) セルの表示形式は和式の日付から選択します。

その他の回答 (7)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.9

>教えていただいた数式ですが、最後に1をかけるのはどうしてですか? &やMID関数やTEXT関数などの文字列を取得する数式で作成した場合は、表示結果の日付が「文字列」で返されます。単に日付を表示したいだけの場合は、文字列日付のままでも問題ないので1を掛ける必要はありません。 しかし、この日付をいろいろな計算に使用する場合は、一般的にシリアル値という連続数字(表示形式は自由に変更できる)に変換するほうが自由度が高くお勧めです。 そのために、数式の結果である「エクセルが日付と認識できる形で表示された」文字列日付に1を掛けて実際の「数値」型の日付に変換させています。 これはエクセルがシリアル値と認識できる形の文字列(時刻や日付)を加減乗除すると、エクセルが気を利かせて日付や時刻と判断して計算してくれる機能を利用していますので、1を掛けるのではなく、例えば0を足してもよいことになります。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.8

回答No5です。No5ではA1セルがS620115のように入力されていた場合を答えてしまいました。 単にA1セルに620115と入力されている場合には昭和で良いのでしょうが例えば平成24年1月15日と昭和24年1月15日の場合にはどちらも240115となって区別がつきません。 そこで区別が分かるようにもう一つ数字を頭に追加して、昭和の場合は1、平成の場合には2のように入力してはどうでしょう。 平成24年1月15日の場合には2240115、昭和24年1月15日は1240115といった入力になります。 それらの数値がA1セルにあるとしたらB1セルには次の式を入力します。 =VALUE(IF(LEFT(A1,1)="1","S","H")&TEXT(MID(A1,2,6),"0-00-00")) 又は =(IF(LEFT(A1,1)="1","S","H")&TEXT(MID(A1,2,6),"0-00-00"))*1 この式では頭に1以外の文字が有った場合には2とは限らずに平成となります。 下の式で1を掛けているのは文字列を数値に変換するためです。VALUEと同じ意味になります。 なお、回答No4さんの270000以上ではSにそれより小さければHにするとの意味は27年以上の年では昭和にして26年以下の年では平成にしなさいとの意味を含んでいます。昭和24年1月15日は平成になってしまいます。

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.7

エクセルの日付はシリアルナンバーという西暦表現です。 ・昭和の年を西暦にするには1925を加算します ・平成の年を西暦にするには1988を加算します 従って6ケタの数字がA1として 前半の昭和は =DATE((LEFT(A1,2)+1925),MID(A1,3,2),RIGHT(A1,2)) 後半の平成は =DATE((LEFT(A1,2)+1988),MID(A2,3,2),RIGHT(A2,2)) 如何ですか

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

=IF(A1="","",1*(IF(A1>260000,"S","H")&TEXT(A1,"0-00-00"))) セルの書式設定を和暦の日付に設定する とかでいいです。

omom11
質問者

お礼

シンプルな数式で、大変参考になりました。 回答ありがとうございました。 よろしければ、数式の中の260000の意味と、1をかける意味を教えていただけませんか?

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

そこまでいってるならもう終わったようなものですね あと一歩!! Datevalue関数で¨S62.01.15¨を くくってみてください。 ちゃんと日付けの値にしてくれると思いますよ。 別のやり方としては ¨620115¨の場合 =DATE(year(VALUE(MID(A1,1,2))),mont(VALUE(MID(A1,3,2))),day(VALUE(MID(A1,5,2)))) 620115の場合 =DATE(year(MOD(INT(A1/POWER(10,(3-1)*2),POWER(10,(3)*2))),MONTH(MOD(INT(A1/POWRE(10,(2-1)*2),POWER(10,(2)*2))),DAY(MOD(INT(A1/POWER(10,(1-1)*2),POWER(10,(1)*2)))) H62/1/15と入れても 認識してくれますよ。 お役に立てていたならば幸いです。

omom11
質問者

お礼

ご丁寧な回答ありがとうございます。 色々な方法がある事が分かり、大変参考になります。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

参考までに、 少し手間が増えるかもしれませんが、「620115」と数字が入力されているセルをまとめて直接日付シリアル値に変更したいなら以下のような操作で変換することができます。 どこかのセルに「19250000」と入力しておき、このセルをコピーし、昭和の数字のデータ範囲を選択し、右クリック「形式を選択して貼り付け」で「加算」します。 同様に平成の日付範囲を選択し「19880000」を加算して、この数字日付列を選択して「データ」「区切り位置」で「次へ」「次へ」で「日付」にチェックを入れ「完了」してください。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

例えばA1セルに日付が入力されている場合、平成2年12月25日は「21225」と入力して、昭和25年以前のデータが無い条件なら以下の式を入力して、セルの書式を日付にすればご希望の表示ができます。 =(IF(INT(A1/10000)<25,"H","S")&INT(A1/10000)&"."&MOD(INT(A1/100),100)&"."&MOD(A1,100))*1

omom11
質問者

お礼

早速のご回答、本当にありがとうございます。 この様な方法があるのかと目からウロコでした。 (もう一つの回答の方法も是非使わせていただきます。) 教えていただいた数式ですが、最後に1をかけるのはどうしてですか? 良かったら教えていただけますか?

関連するQ&A

  • エクセルの日付けに関して

    行に沿って約130の日付けを入力しています。 年をまたぐ(2004→2005)のですが、始め理解して なかったので、年を入れず入力してました。 それを使いグラフを作成してるのですが、うまく 表示しなくなりました。 それで、もういちど、年をいれて日付けを入力 しなおそうとおもってます。 (1)はじめのセルで長い文章(表題なのですが)を  入力して、セルの幅をひろげたいのですが、  文章の最後をダブルクリックしてとあるので  すがうまくいきません。 (2)日付けを全部入力しなおしたいのですが、一度  にうまくいく方法はないですか?  日付けは土日祝を除いてますので続いたものでは  ないです。 この表は他の部分はいろいろ数字がはいってますので、 それはそのまま使いたいので、新しく作成するもの ではありません。 あくまでも表題と日付けの部分をやりかえたいのですが。

  • excel 日付を直したい

    例: 一つのセルに 13.12.25 と入力してしまったものを 2013.12.25 と変換できないでしょうか? 状況: 大量の異なる日付の西暦部分を 2013. と入力しておけばよかったのですが 13. と入力してしまいました 他のデータとも統合したいので日付 での認識に変換したいのです おそらく現状では、単なる数字でしか認識していないようで、、 何か関数等で一気に変換できるいい方法がありましたらお教え頂きたく宜しくお願い致します、。。  

  • エクセルでの日付入力について

    エクセル(2003)でデータの集計をしてるんですが、その中に日付の項目があります。 「2006/10/15」といった形で入力をしていってるのですが、毎回この「/」を入力していくのが億劫で・・。 「/」を入力せず、数字だけを入れていけば、自動的に「/」も入って「2006/10/15」といったようになる方法はあるんでしょうか? ご回答お願いいたします。

  • Excelの時間の計算

    時間の計算の算出方法について質問です。 セルE16に 2015/11/25  17:59 という日付けと時間が入力されています。 セルH16に同じような形式で日付けと時間が入力された場合 セルK16に経過時間を表示する方法を教えて下さい。 ちなみにK16の経過時間は30分以上いくことは絶対にないので 分表示のみで大丈夫です(○○min と表示したい) またE16、H16ともに、マクロにて、セルの所でダブルクリックすると日付けと時間が 入るようになっています。 理想としてはH16の所でダブルクリックしたときにH16に日付けと時間が入力され K16に経過時間を表示という形にしたいです。 このような計算をした箇所が20行あります。 列は変わりません。 16から35行まで。 ご指導の程、宜しくお願いします。

  • excelの日付を簡単に入力したいのですが・・・

    質問させていただきます。 excelで日付を「月/日(曜日)→○○/○○(○)」、 本日でしたら「11/11(火)」というかたちに入力し、 セルを横にコピーすると日付の箇所だけ数字が 増えていき、曜日はそのままずっと火曜日で コピーされてしまいます。 これをカレンダーどおりに日付と曜日が合致する ようにしたいのですが、どなたかご教授して いただけないでしょうか?

  • エクセルで日付の入力

    お世話になっております。 エクセルで日付を入力したいのですが、平成20年11月21日と入力すると、平成20年11月21日と小文字になってしまいます。 ダブルクリックをすると2008/11/21となっています。 例えば、11月31日と入力すると大文字でセルにぴったりになるのですが、カレンダー通りの日にちだとダメです。 どうしたら良いでしょうか?? (PS.セルの書式設定の【文字列】にしてもダメです…。) 分かりづらくて申し訳ないのですが、教えて下さい。

  • エクセルの日付自動入力について教えてください。

    エクセルの日付自動入力について教えてください。 商品の出荷情報をエクセルで作成しています。毎週月~土曜日の顧客管理を作成しており、 商品を出荷した日付が自動的に更新されるようにしたいです。 例えば、 現在今週の月曜出荷の情報だと、A1セルに6/21と手入力し、 21日が過ぎた時点(翌日22日に)に翌週の日付6/28という日付を手入力(A1セルに上書き)している状況です。この翌週の日付を自動的に同じA1セルに上書きという形で反映させることは可能でしょうか。 説明が分かりにくくて大変申し訳ございません。 データが大量にあるため、なるべく自動的に反映させたいです。 関数入力でこのようなことができるのか、ご存知の方宜しくお願い致します。

  • エクセル日付入力について

    初めまして エクセルで日付の入力について質問です。 生年月日を下のように表示したいのですが。  H20/08/03 このまま入力してしまうと表示が下のようになります。  H20.8.3 どうしても   H20/08/03 にしたいのですがどうすれば良いのか解りません。 セルの書式設定→日付→種類を見たのですが該当するのがありません。 どうかどなたかご指導をお願いします。

  • エクセルの日付入力

    OSはXPで、エクセル2002です。例えば、160617と入力すると、H.16年6月17日とセルにでるようにしたいのです。日付をたくさん入力するので、どうかよろしくお願いします。

  • excelで自動入力する方法

    excelでデータ作成をしているのですが、大量に単純作業の繰り返しがあり困っています。 内容は、最大値と最小値の入ったセルがあり、その範囲の中からランダムに3つ数字を選び出し入力しています。 これをどんな方法でもいいので自動化できないでしょうか? 大量にやらなくてはいけなくて時間がありません。 なにか方法があれば教えてください。 よろしくお願いします。

専門家に質問してみよう