• ベストアンサー

文字関数についておしえてください

エクセル初心者につき、簡単な質問で、こんなことを思わず 教えてください。 社内のデータを出力すると 2012.12.11 と日付に”.”が入ります。 ”.”のみを除くには、=SUBSTITUTE()を利用すればできたのですが、 =SUBSTITUTEを利用して、かつ、(プラスするという表現でいいのでしょうか?)、 ”1211”といったように、右から4文字だけを 表示させるにはどうしたらよいのでしょうか? 関数に詳しい方、何卒、ご教示お願いいたします。 ウインドウス7 エクセル2007を利用しています。

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

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

回答No2です。 A1セルに2012.12.1とあった場合に回答2の式では2121が表示されますが、これを1201と表示したい場合には次の式にしてください。 =TEXT(SUBSTITUTE(A1,".","/"),"mmdd") 2012.12.1とセルに入力している場合には文字列となっておりますので日付のデータとはパソコンは判断していません。パソコンが日付のデータと判断できるようにするためにはA1セルには2012/12/1のように入力することが必要です。その場合にはパソコンは日付と判断して文字列ではなく数値(シリアル値)として処理しています。 上の式ではA1セルのデータを単なる文字列から日付として判断できるように"."を"/"に変えています。その上で日付の内の月の部分(m)と日にちの部分(d)を表示するようにしています。 mmやddとしているのはどちらの数値も2桁で表示させるためです。

shironekochann
質問者

お礼

KURUMITO様 丁寧なご回答ありがとうございます。 ”.”を除いて、右から4文字を表示したいという2個の条件が あったのでIFを使った、複雑な関数になるのかと思っていました。 TEXT関数も”mmdd"も書式設定で利用したことがあり、関数の 苦手意識なく利用させていただけました。 また、日付と判断できるように”/”を利用するなど、本当に勉強に なりました。ありがとうございました。

その他の回答 (2)

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

A1セルに2012.12.11と入力されているとしたら次の式で良いでしょう。 =RIGHT(SUBSTITUTE(A1,".",""),4) RIGHT関数に引数4を入力することで右から4文字が抽出されます。

shironekochann
質問者

お礼

No.3の回答とあわせ、勉強になりました。 ありがとうございました。m(_ _)m

  • ryo_ky
  • ベストアンサー率47% (112/237)
回答No.1

質問者様に少し確認をしたいのですが、セルに入力している情報は 例えば2012年12月11日であれば2012/12/11となっていますか? 日付などの入力による表示はセルの書式設定の表示形式で指定されているのだと思います。 (セルの書式設定の見方はセルを選んだ状態で、Ctrl+1) おそらく最初の状態では表示形式がユーザーの定義で yyyy"."mm"."dd の様な状態になっているのだと思います。 (年、月、日の間に.という文字を入れる。yは年、mは月、dは日で数=桁数) (yy"年"mm"月"dd"日" なら12年12月11日という表示になります) 質問者様がしたい「1211」という表示は月と日ですよね? その場合はユーザーの定義で mmdd とすれば、関数とかを使わなくても表示できますよ。

shironekochann
質問者

補足

ryo_ky 様 お世話になります。 お忙しいところ、丁寧な回答ありがとうございます。 また、説明不足申し訳ございません。 ユーザー定義は試してみましたが、できませんでした。 表示形式は、標準となっています。 書式設定で、2012/12/11を指定、ユーザー定義でmmddといった 設定ができないので、=SUBSTITUTEを利用してみたところ、”.”を除く ことまではできた状態です。 何卒、ご教示お願いいたします。

関連するQ&A