- ベストアンサー
Excelで日付を見たまま文字列として取り扱いたい
excelで「2009年8月」と「2009年8月1日」と入力されているデータを区別したいのですが,共に日付として「2009/8/1」と認識されてしまいます。 excelデータ自身は別の人が入力しているので,「入力する時に文字列として・・」ということはできないのです。 どうにかして見えているまま文字列として取り扱いたいのですがどうしたらよいでしょうか? ご教授よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
KURUMITOさんの回答を参考にして B1へ入れる式を =IF(CELL("format",A1)="D2",TEXT(A1,"yyyy年m月"),IF(CELL("format",A1)="D1",TEXT(A1,"yyyy年m月d日"),"")) にして、見ました。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の情況が良く説明されて無い。 例えばA1セルに、2009/8/1とエクセルの日付で入力され、B1に=A1 と入れて、A1の書式をyyyy年m月と設定すればそうなる。見た目区別されているじゃないですか。こういうkレースのことか。 ーー >共に日付として「2009/8/1」と認識されてしまいます。 それがイヤならA1は文字列で入力し、B1は日付で入力すればよい。 ーー 両方とも日付けとかA1が日付でB1が=A1 で入力されている場合、一方を日付の文字列にすることはできない。 ただし別のセルにTEXT関数を使えば、文字列化できる。 =TEXT(A1,"yyyy年m月")とすれば良く、質問するまでも無いこと。 ただ文字列にするメリットは何なのか。 B1は日付シリアル値で計算などではそちらを使えばよいのでは。 そのニーズが説明されて無い。 >入力する時に文字列として・・」ということはできないのです 出来ないといっているが、必要なら教育訓練で出来ることではないか。 ーー 日付シリアル値ー表示形式ー日付 TEXT関数 文字列 などGoogleででも照会し、日付シリアル値ー表示形式ー日付 と日付文字列との得失をよく勉強すること。
お礼
No.4のS-Fuji様からベストなご回答を頂くことができました。 色々とアドバイスありがとうございます。
補足
説明不足で申し訳ございません。 500件程の予定表を加工したいと思っています。 「2009年8月」は予定未定,「2009年8月1日」は予定確定と言葉を繋げたいのです。 TEXT関数の場合は1つ1つ設定しなければならないのでちょっと無理かな,と思いこのような質問をさせて頂きました。 >出来ないといっているが、必要なら教育訓練で出来ることではないか。 例えば他社から貰う資料だったり,教育出来る関係ではない資料のやりとりの立場もありますよね。そういったものです。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A列に日付があるとしたらB1セルに次の式を入力して下方にオートフィルドラッグします。 =IF(CELL("format",A1)="D2","月まで",IF(CELL("format",A1)="D1","日まで","")) このような方法で区別できますのでうまく利用してください。
お礼
CELL関数・・・知りませんでした。 つたない説明でやりたいことを理解して頂きありがとうございます。 が,申し訳ございませんっ No.4のS-Fuji様の式が完璧すぎです。そちらを利用させて頂きました。
- Cupper
- ベストアンサー率32% (2123/6444)
TEXT関数を使って文字列に直すくらいしか無いともいます まあ、これが求める手段とは思いませんが、こんな方法があると言うことで参考になれば幸いです 記述方法は =TEXT(値,表示形式) 具体的な使用方法は =TEXT(A1,"yyyy年m月") これで A1セルに入力されている日付は 「 2009年8月 」 の書式で文字列になります ※ 書式を確認しなければいけないので面倒ですけど、自分はこれしかないと思います
お礼
ご回答ありがとうございます。 No.4のS-Fuji様からベストなご回答を頂くことができました。
- okormazd
- ベストアンサー率50% (1224/2412)
お礼
おおっ正しくコレが求めていたものです。 ありがとうございますっ!完璧です。 CELL関数を知りませんでした。 これから勉強します・・・(D1って?,D2って? ^^;)