• ベストアンサー

EXCELデータ変換

データで日付が2009/6/2となっているデータをゼロを不可して2009/06/02と表示し、そのデータを文字として扱いたいのですが。また、データをスペースを不可して2009/ 6/ 2と表示させる方法(関数)をてください。ご指導をお願いします。

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

  • ベストアンサー
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.4

こんな感じでもいいかな B1=TEXT(A1,"yyyy/mm/dd") C1=SUBSTITUTE(B1,"/0","/ ")

kawasemiB
質問者

お礼

=IF(ISBLANK(A1),"",TEXT(A1,"yyyy/mm/dd")) というやり方にしました。 色々とアドバイスありがとうございました。

kawasemiB
質問者

補足

A1が未入力のときB1が「1900/01/00」と表示されてしまう。 未入力のときスペースを表示も考慮したいです。

その他の回答 (4)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.5

追加です B1を参照しない方法を記載漏れしました C1=SUBSTITUTE(TEXT(A1,"yyyy/mm/dd"),"/0","/ ")

noname#204879
noname#204879
回答No.3

》 データをスペースを不可して2009/ 6/ 2と表示させる方法(関数) 「不可して」は珍紛漢です!「付加して」でしょ! =TEXT(A1,"yyyy/")&RIGHT(TEXT(A1," m/"),3)&RIGHT(TEXT(A1," d"),2)

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

A1の日付を B1: =TEXT(A1,"yyyy/mm/dd") C1: =TEXT(A1,"yyyy/"&IF(MONTH(A1)<10," m/","m/")&IF(DAY(A1)<10," d","d"))

回答No.1

A1 2009/6/2 B1 =year(a1)&"/"&text(month(a1),"00")&"/"&text(day(a1),"00") C1 =year(a1)&"/"&if(month(a1)<10,text(month(a1)," 0"),text(month(a1),"0"))&"/"&if(day(a1)<10,text(day(a1)," 0"),text(day(a1),"0"))

関連するQ&A

  • エクセルの日付データの変換

    あるDBからデータを抜いてCSVに落としてAccessにインポートしようとしていますが、日付のデータが、普通1970/2/28というシリアルデータを表示形式で「昭和45年2月28日」と表示しているところが、「昭和45年2月28日」という文字データそのままになっています。 なんとか日付のシリアル値に変換したいのですが・・・ ちなみにdatevalue関数を使用しても元が単なる文字列ですから、もちろんシリアル値なんか出ません。

  • EXCELデータのゼロサプレス

    EXCELのデータで0011となっているデータを前のゼロを削除して11と表示し、そのデータを文字の11として扱いたいのですが。 関数を使用すれば可能なのでしょうか。 ご指導をお願いします。

  • エクセルのデータが

    エクセルで仕事のデータをランダムに入力しているのですが、データ量が多くなり ました。そこで最新データ(日付が一番新しい)を別セルに表示したいのですが、方法がわかりません。 どんな関数を使うか等を教えてください。

  • EXCELに出力した文字列データの変換

    あるシステムから固定長のデータをEXCELに出力しました。 しかし、すべて文字列の型になって、集計できません。 数字の場合はVALUE関数で文字を数字にするというのはできるのですが、 日付 例えば 070730 を 2007/7/30の日付型にしたい場合は、 どうすればよいのでしょうか?  よろしくお願いします。

  • エクセルでシリアル値に変換

    エクセル2003を使っています。 B列に200708(2007年8月という意味です)や200911等の日付が入っています。 これではただの数字であって日付データではありません。 最終的には200708等の数字を日付データに変換して、シリアル値にしたいと思っています。 シリアル値に変換の仕方を教えて頂けないでしょうか? 私がとりあえずやった方法は、C列にRight関数とLeft関数を使って、 2007/08という具合に年と月の間に/をいれました。 これをコピー値貼り付けして、関数から値に変換すると2007/08ではなく、'2007/08と なっており、どうしても数字ではなく、文字列になってしまいシリアル値にできません。 'を空白に置換えしようとしても、置き換えができません。 手法は関数やVBAでも構いませんので、教えて頂けないでしょうか? よろしくお願いします。

  • エクセル 文字列(数値)を日付データに変換

    システムからCSVデータを抽出したのですが、日付データと時刻データが数値としてあります。これを日付、時刻データに変換したいのですが良い方法はありますでしょうか。 A1     20070601 → 2007/6/1 B1 1230   → 12:30 としたいのです。 データは1万件以上あるため、手入力で「/」を入れて いくわけにはいかず困っています。 またA1セルを「left関数」などで分割してから、 「&」で結合させても文字列として認識して うまくいきません。 何か良い方法がないかよろしくご教示を お願いします。

  • Excelのデータ変換で困っています

    Excelでデータ分析を行っているのですが、過去のデータに日付が 「2009/03/26」といったスラッシュを入れたものと、 「20090326」といったスラッシュを入れていないものとがあり 統一性がありません。スラッシュ有りの方に統一したいのですが、 簡単に変換できるエクセル関数があれば教えてください。 宜しくお願い致します。

  • エクセルの日付変換

    ある決まりで構成されている文字列を、Left、Mid、Right関数で抜き出し、Date関数で日付に変換しております。 しかし日付としては異常な数字があっても、エクセルの場合シリアルですので、異常な値でも日付に変更してしまいます。 エラーが出て異常がわかる方法ないでしょうか。 日付の部分が31以上だとNGという方法もあるとは思いますが、アクセスのようにエラーが出てほしいです。 例 正しい:MA08⇒2000/10/8 間違い:MA80⇒しかし2000/12/19と表示される。#VALUE!など間違いということがわかる方法が理想。

  • エクセルの文字列から数字への変換

    エクセル2007を使用しています。 あるデータベースからデータをエクセルにインポートしたところ、日付データだけが文字列となっています。 (通常数字だとセル内右寄せですが、文字列を示す左寄せになっています) 「03/11/2010」のように一見日付データのように見えるのですが。。 完全なテキストとして認識されているようで、「DATAVALLUE関数」や「1の乗算」も全く反応しません。 文字の先頭に「’」も入っていませんし、どうしたらよいか全くわかりません。 何かよい方法があったら教えて下さい。 宜しくお願い致します。

  • エクセルで、「20030828」を「2003/08/28」にしたいのですが…

    「エクセル2000」を使用しています。 ある列に、 「20030828」などと文字形式で 入っている値を、 「2003/08/28」のような、日付形式の データに変換したいのですが…。 「セルの書式設定」では変えられないですよね? =REPLACE(I2,5,0,"/") という関数で 「2003/0828」 と、表示することには成功したのですが、 「08」と「28」の間にどうすれば 「/」が入れられるのか分かりません。 関数を勉強したことがなく、 方法論を知らずに使っているもので…(^-^;)。 何か良い方法があれば、お教えいただけないでしょうか。

専門家に質問してみよう