• ベストアンサー

エクセルの関数について

次のようなときの対処方を教えてください。 例えば、セルA1に「1月」と入れた場合にセルC1には「1月31日」と出るような関数は分かるのですが、 セルA1に「1月か2月か3月」のときにセルC1に「1月31日か2月28日か3月31日」と選択するような作業は可能でしょうか? 現時点では、セルA1、C1ともに入力規則からの選択にて入力しているのですが、件数が多い為関数などで一度に出来る方法があればお教え下さい。

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

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

A列に入力規則で1から12までの「数字」を記入できるように仕込んでおく A列にセルの書式設定の表示形式でユーザー定義を選び 0月 と設定しておく C1に =IF(A1="","",DATE(YEAR(TODAY()),A1+1,0)) として、セルの書式設定の表示形式で m月d日 を設定、下向けにつるつるっとコピーして埋めておく。

uugolf
質問者

お礼

簡単に出来ました。ありがとうございました。

その他の回答 (3)

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.4

#3です。 ミス訂正。 A2が『2月」(入力は1/1)なら、 ↓ A2が『2月」(入力は2/1)なら、

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

文字列じゃなく、日付書式でいいなら、 A列のセルの書式を、「ユーザー定義」で、「m"月"」として、、たとえばA1に「1/1」と入力すれば、表示は「1月」になります。 C列のセルの書式を、「ユーザー定義」で、「m"月"d"日"」として、たとえばC1の数式を「=EOMONTH(A1,0)」とすれば、「1月31日」と表示されます。A2が『2月」(入力は1/1)なら、C2は「2月29日」(年の入力を省けば当年になって、今年は閏年だからこうなる。それがいやなら、閏年じゃない年を入れる。「2011/2/1」とか) になります。 以下にフィルします。

  • CC_T
  • ベストアンサー率47% (1038/2202)
回答No.2

セルA1に「1月」か「2月」か「3月」のときにセルC1に「1月31日」か「2月28日」か「3月31日」と表示したいってことでしょうか? それともセルA1が「1月か2月か3月」のときにセルC1に「1月31日か2月28日か3月31日」と表示するのでしょうか? ~~~ 色々なやり方があると思いますが、応用も効く方法としては別シートに A列    B列 1月  1月31日 2月  2月28日 3月  3月31日  ・  ・  ・ という一覧表を用意しておいて、Lookup関数でセルA1を検索語としてこの範囲を検索させるってのも一つの方法ですよね。 C1は=VLOOKUP(A1,別シート!A$2:B$13,2)) とする。 セルの書式設定も活用すれば、”1”など月数の入力だけで済ませるなど簡略化もできますね。

uugolf
質問者

お礼

関数での質問でしたのでベストな回答をいただきありがとうございました。 このような関数を覚えるきっかけになりました。 ありがとうございました。

関連するQ&A