• 締切済み

エクセル関数 月の日数表示

初心者なもので、WEBでもいろいろ探してみたのですが、検索条件すら的を得ていないようで結局見つけられませんでした。 「1月」と入力した時に別のセルに「31」と出て、「2月」と入力した場合には「28」と表示されるような式はどのようにしたらよろしいのでしょうか。 1月から12月まで一つの式で表したいのですが、どの関数でどうしたらよいのでしょうか。 よろしくお願いいたします。

みんなの回答

noname#79209
noname#79209
回答No.5

#4さんの指摘が正しいです。 「1月」と入れてしまっていると、文字列と認識されてしまいます。 「2007/1/1」と入力するのが、何かと後々便利なのですが、 もし、どうしてもこのままやるなら、A1に「1月」として、 =DAY(EOMONTH(DATEVALUE("2007年"&A1&"1日"),0)) で一応可能ですが...

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

>「1月」と入力した時に の1月が曲者であることに気づいてますか。 (1)1(数字)を入れて、1月と表示形式で見せる (2)2007/1/1 と入れて表示形式で1月と見せる (3)「文字列」で「1月」(1は全角・半角あり)と入れて1月と見せる。 (4)2007/1/1と他のセルに入れて=MONTH(A1)&"月"とする (4)は余りないでしょうが、(1)-(3)はありえる。これを 区別できて質問するレベルで無いと、判ったとはいえない。 ーー (1)=DATE(2007,A1+1,0) (2)=DATE(YEAR(A1),MONTH(A1)+1,0) (3)=DATE(2007,SUBSTITUTE(D1,"月","")+1,0) ーーー A1に2007/1/1などあれば =EOMONTH(E1,0) で 2007/1/31 というのもある。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

アドイン関数や日付関数の応用的な使い方になります。 そして、「1月(書式設定で可能)」と表示されるセルのデータが日付で入力されている必要があります。 http://pc.nikkeibp.co.jp/article/NPC/20070618/275108/

horikonnkui
質問者

お礼

回答ありがとうございます。 URLまで貼っていただき助かります。 ありがとうございました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

A1 =10 とした時 B1 =DAY(DATE(YEAR(TODAY()),A1+1,0)) セルで右クリック、セルの書式設定で標準を選択 (ただし年は”今日の年:2007”になります。  2と入れたら今年の2月の日数です。)

horikonnkui
質問者

お礼

回答ありがとうございました。 細かな説明までいただいて、本当に助かります。

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

>「2月」と入力した場合には「28」 なぜ28なの 今年のその月の日数 =DAY(DATE(YEAR(TODAY()),A1+1,0))

horikonnkui
質問者

お礼

早速の回答ありがとうございます。 今年の2月は28日までだったので・・・^^。 ”今年のその月の日数”なんてものが分かるんですね。 知らなすぎでした。 助かりました。ありがとうございます。

関連するQ&A

  • エクセル関数でおしえてください

    Aのセルに「する」「しない」のどちらかを入力するとして、 「する」と入力すると、Bのセルに「○」、 「しない」と入力するとCのせるに「○」、 と言う風に、表示する文字は「○」で同じでも、表示させるセルを変えたい場合、どの関数式をかいたらいいのか教えてください。 マクロはできれば使いたくないので、関数でお願いいたします。

  • エクセルIF関数(「#DIV/0!」表示)について

    エクセルを使っていて、「#DIV/0! 」 と表示される部分があり解決方法を調べてみたところ、 「DIV」は「divisor:除数(割る数)」の略であり、数字は「ゼロ(0)」では割れないために出たエラーだと知りました。 (参考URL:http://www.724685.com/weekly/qa090819.htm) 上のサイトには、「除数がゼロ、つまり計算結果が「#DIV/0!」のときは、別の表示に(たとえば空欄に)する条件式(IF文)を使えばいい」とあったのでIF関数式をあてはめたところ、一部分は「#DIV/0! 」表示でなく「0」表示にすることができました。 ただ、その IF関数を入力したセル(セルC1と仮定)を参照して新たな関数式を作ったとき、値を出すセルがまた「#DIV/0! 」となってしまいます。 最初に入力した式→ =IF(A1=0,"0",B1/A1) 次に入力した式→ =IF(C1=0,"0",100/C1/100*1000/10000) C1のセルを手入力で「0」と入力すると「#DIV/0! 」 表示にはなりませんでした。 これは、式を入力したセルを新たな計算式には反映できないということなのでしょうか? 「0」と手入力すると最初の式も消えてしまい、なおかつ手間なので何か解決方法はありませんでしょうか。 つたない説明ですが、どなたかアドバイス頂ければ嬉しいです。

  • 関数で2つのセルを統合して表示するには

    A1のセルに5を入力して、A2のセルに月を入力します。それを別のseetのD2のセルに統合して5月と表示させる場合の関数てありますか。VLOOKUPを使って別のものを表示させていますが、2つのものはできないようです、知らないのかもしれません、お教え下さい。

  • エクセル関数式を教えてください。

    エクセル関数式を教えてほしいのですが、 あるセル値Aが100未満の場合は、セルを空白(表示なし)に設定し あるセル値Aが100以上の場合は、他のセルB値の数値を表示させる。 初心者で関数式がわかりません、誰か教えてください。 お願いします。

  • エクセルの関数を教えてください

    エクセルです。 あるセルに1月と入力されていて、別のセルに入れたら2月と表示される関数を教えてください。 (月はなくても構いません。) 12月の次は1月に戻る物を希望しています。 よろしくお願いいたします。

  • エクセルの関数式結果を表示させない

    エクセルの関数式を入力した際に、結果として値がでるセルに何値を入力していないと#NOTVALの表示がでてしまいます。この表示を値が入っていない時は表示しないようにするにはどうしたらよいのでしょうか??

  • エクセル関数のデータ表示がすぐされない

    エクセルで或るセルにデータを入力したら別のセルにデータ表示されるように「関数」を使っています。 例えばA1のセルに生年月日を入力したら隣のB1に満年齢が表示されるというようにです。 以前はA1に生年月日を入れたらすぐにB1に満年齢が表示されていたと思うのですが、いつの間にやらすぐには表示されなくなりました。 そして、保存をしようとすると、入力したセルの関数が変換表示されて、保存されます。 以前のように、入力したらすぐに関数の値を表示するには、どうすればよいのでしょうか?

  • エクセルのCOUNTIF関数について。

    エクセル初心者です。 たとえば A1のセルからA4のセルに 350、349、371、328 と入力されていて A6に  =COUNTIF(A1:A4,">=350") だったら 『2』となりますが A6に  =COUNTIF(A1:A4,">=A1") だったら 『0』になります。 こういう使い方は出来ないのでしょうか? A1を検索条件に入れたい場合は 何か他のやり方(関数)があるのでしょうか? どうすれば良いか ぜひ教えてください。

  • エクセルでセルに関数が表示されます

    エクセルのセルに正しい関数を入力してもせるにその関数が表示されてしまい、正しい結果が出てきません。 式はあっているのになんでなんでしょう。他のファイルで使った式をコピペするとたまに正しい結果になります。ツールバーでも手入力でも結果は一緒です。毎度これでしっくはっくしています。

  • エクセルでIF関数について

    =IF(E19>=100000,E19-100000,0) この関数式が入力されているセルはE19のセルが10万以上の場合10万を引いた数が表示されますが、例えばE19のセルが178000の場合、78000というように表示されます。ところが、千単位以下を全部0000表示し万単位以上の数字だけを表示させる場合どのような関数式になるのでしょうか?例えば、E19のセルが178000の場合、70000という具合にです。わかる方ぜひ教えてください。よろしくお願いします。

専門家に質問してみよう