• ベストアンサー

Excel数値から英語の月名を表示

セルA1,A2,…に1,2,…と入力されているのを利用して、 別のセルに英語の月名を表示させます。 =TEXT(A2,"mmm")では、セルに入力された"2"が、 1900/1/2と判断され正しい月が表示されません。 どのようにしたらよいでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (774/1620)
回答No.1

B1: =TEXT(A1&"/1","MMM") 下へコピペ。 /1をつけて、日付にしまう。

wizmary51
質問者

お礼

ありがとうございます。シンプルで簡単にできました。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

A列の値は文字列ですか? 1~12の整数であるとして次の数式で良いでしょ,う。 =TEXT(DATE(,A2,)"mmm") DATE関数で年を省略すると西暦1900年、日を省略すると該当月の末日が指定されたことになります。 月数のみA列から代入すれば1900年m月末日となりm月のみTEXT関数で表示すれば良いでしょう。

wizmary51
質問者

お礼

ありがとうございます。DATE関数で年・日を省略する書き方があるのですね。当方の環境では、日を省略すると指定月の前月末日になりました。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.5

泥臭く =CHOOSE(A1,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") といった関数にする対応や 添付画像のように、C1:D12のようなテーブルを用意し VLOOKUPを使うというのもアリと思います。

wizmary51
質問者

お礼

Coose関数というものがあるのですね。今後活用します。ありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

参考にしてください。 VBAも含めて色々調べ、小生の過去の経験から推して、A列に入力済みの月数数字を用いて,DATE関数などで、日付に変換して、それのセルに対して、表示形式ーユーザー設定ーmmm とするほかないでしょう。 ーー 小生が考えたのは、 表示形式の上(そのもの)で、1->jan,1->feb・・の変換ができないか、やってみたが、1-ー>男子、2ーー>女子など2値の場合に限り、設定方法があるが、それ以上の数の(例 年の月数の)場合うまく行かない。 ー 数字入力セルに対し、そのセルの数そのものに対応した文字列を、「表示形式として」設定させてくれれば、役に立つケースが相当あるように思ったが、MSはそのニーズに、仕組みとして、応えていないようだ。 ーー A列にデータ入力する事前に、VBAコードを作っておいて、A列セルに1と入れたとき、「そのセルの値を」janなどに変換して、自動で入力し直すのは簡単なコードで済む。 これなら、リストボックス、入力規則のリストなどでもできる。

wizmary51
質問者

お礼

ご自身のご経験を含め詳しく教えていただきありがとうございました。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

セルA1,A2,…に埋まっている月を示す値から 素直にその月に含まれる適当な年月日を求め、 表示形式の機能を使い期待の月に変換する以下の対応はいかがでしょうか。 具体的には、 =TEXT(DATE(2022,A1,1),"mmm") といった計算式にする あるいは、 =DATE(2022,A1,1) としたうえで、表示形式を"mmm"にする。

wizmary51
質問者

お礼

ありがとうございます。簡単にできました。

関連するQ&A