• ベストアンサー

日にちを表示する関数の使い方(応用)

sige1701の回答

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

>エラーになってしまいました 括弧が多かったですね =IF(AND(C1=2,DAY(YEAR(TODAY(),3,0)=28),"--",BE3+1) 質問の場合、こちらの方が良いかな(30,31日の事を考えて) =IF(MONTH(BE3)=MONTH(BE3+1),BE3+1,"--") もしかしたら、BE3 は日付ではなかもしれませんね? =IF(MONTH(YEAR(TODAY(),C1,BE3+1)=C1,BE3+1,"--")

関連するQ&A

  • テンプレートの家計簿の2月の日付が正しくない?

    エクセル2007を使用(OS Vista) 下記より入手しました。(私は2007使用ですが、2003使用の姉が使うので) http://office.microsoft.com/ja-jp/templates/CT001075281.aspx#ai:TC001059302| Microsoftのテンプレートの家計簿をダウンロードしましたが 2012年2月は29日まで表示されますが、2013年2月は28日の次の日付が 1日と表示されます。28日で終わらせるにはどうしたらいいでしょうか? 家計簿の説明 A1: 2012  西暦が入力してあるセル(自由に西暦の変化が可能) C1: 2   月が入力してあるセル(自由に月の変化が可能) 下記の様にセルい関数が埋め込んである・日付セルは横に2列を結合して1日ずつ移動する C3から日付が始まる C3(1日): =DATE(A1,C1,1) E3(2日): =C3+1 G3(3日): =E3+1 BC3(27日): =BA3+1 BE3(28日 : =BC3+1 BG3(29日): =IF(AND(C1=2,MOD(YEAR(TODAY()),4)<>0),"--",BE3+1) BI3(30日): =IF(C1=2,"--",BG3+1) BK3(31日): =IF(OR(C1=2,C1=4,C1=6,C1=9,C1=11),"--",BI3+1) 以上です。 29日(BG3)の関数をどのように直せば閏年以外の2月の29日の日付が表示されなく なりますか? 今年は閏年なので29日まで表示されますが、来年(A1を2013 C1を2)にすると、 28日の次が1日と表示されてしまいます。(3月は正しく1日から表示されます)。 30日、31日のセルは何も表示されないのでいいのです。 他の月は30日と31日が正しく表示されます。 こんな説明で分かっていただけたでしょうか? よろしくお願いします。 10歳年上の姉(77歳)に説明してあげたいのですが、 =IF(AND(C1=2,MOD(YEAR(TODAY()),4)<>0),"--",BE3+1) この関数の意味も 教えて下さい。 MOD(YEAR(TODAY()),4)<>0) この部分が良く理解出来ないのです。 4で割って除数が0と等しくないと言う事ですか?余りが出た場合と解釈すればいいのですか?

  • エクセル 関数 MONTH

    いつも大変御世話になっております。 WindowsXP環境でエクセル2003を使用しています。 C5セル内に以下文字を入力して「test_201111.txt」を表示しています。 ※YEAR(TODAY()):YYYY / MONTH(TODAY()):MM ="test_"&YEAR(TODAY())&""&MONTH(TODAY())&".txt" これは10~12月は関数箇所は表示されるんですが 1~9月はMONTH(TODAY())自体が頭に"0"がつかないので困っています。 これはもうどうしようもないのでしょうか? 1~9月には頭に0をつけたいのです。 マクロを使ったり、他のセルにYYYYMMを記載してそこから日付を読み込ますようなものは 作成せずに、上記関数だけでどうしても解決したいのですが可能でしょうか? もしご存知の方がいらっしゃるようでしたら、ご教授願いますでしょうか? 以上、何卒宜しくお願い致します。

  • Excel関数で年月を表示する方法

    こんにちは。 Excel関数について質問です。 例えば A1 … 2011/11/11 と手入力した時に、 B1 … 2011/11 C1 … 2011/12 D1 … 2012/01 のようにB1~D1が自動で入力させるようにするためには、 どのような関数を使えばよいでしょうか? YEAR、MONTHを使い、年だけ、月だけの表示はできるのですが、 両方を表示させる方法が分かりません。 またIFの使い方もいまいち曖昧で、12月の次が13月になってしまいます。 よろしくお願いします。

  •  EXCELのIF関数についての質問です。

     EXCELのIF関数についての質問です。  IF関数については、自信がありました。 たとえば、G13をテストの得点だとして、80点よりも高い得点なら合格、さもなければ不合格と表示させてければ、if(G13>80,"合格","不合格")でOKのはずです。  ところが、今日何歳なのかを表示させる場合、G13に生年月日をいれて、 IF(OR(MONTH(TODAY())>MONTH(G13),AND(MONTH(TODAY())=MONTH(G13),DAY(TODAY())>=DAY(G13)))=TRUE,YEAR(TODAY())-YEAR(G13),YEAR(TODAY())-YEAR(G13-1))と引継ぎをうけました。  この中にあるTRUEの意味がわかりません。私の解釈では、「今日の月が誕生月よりも絶対値が大きい」又は「今日の月と誕生月が同じで、今日の日が誕生の日の絶対値と同じか多い」場合、年齢は「今日の年」-「誕生の年」、そうでない場合は年齢は「今日の年」-1-「誕生の年」です。  なので、TRUEはなくてもよいと思い、削除してみましたが、エラーが出ました。  よくわからないので、お手数ですが、教えてください

  • Excelで集計に関する関数の質問です

    添付した図を基に質問します。4行目をウィンドウ枠固定して表示してあります。 行列番号を見てもらえたら分かると思いますが、要所でセルを結合してあります。 セルB6に=IF(B5="","",(IF(B5>1999,0,IF(E5<501,0,IF(AND(B5>499,E5<2001),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(B5<500,TIME(INT(E5/100),MOD(E5,100),0)-(TIME(INT(500/100),MOD(500,100),0)),IF(E5>2000,TIME(INT(2000/100),MOD(2000,100),0)-TIME(INT(B5/100),MOD(B5,100),0),0))))))*24) D6に=IF(B5="","",IF(AND(B5<500,E5>500),(TIME(INT(500/100),MOD(500,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(AND(B5<2000,E5>2000),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(2000/100),MOD(2000,100),0)),IF(AND(B5>499,E5<2001),0,(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)))))*24) これは、項目A列5行目を参照しています。以下オートフィルします。 例えば7時から10時10分の差を求める場合、B6セルに700、D6セルに1010と1分単位で入力し、表示形式は0.0" H"です。 項目C,Dも同様で、項目C内E列には1時間30分の場合1.5と入力し30分単位です。表示形式は同様。 A列の日付欄には、1月1日の場合1/1と記入します。表示形式は日付の月/日です。 上記内容で添付図の上の表(A3:S30)項目B~D列のデータを下の表(A32:S39)で集計しようと思います。 1、F35~F38に月ごとの時間の計を表示させる関数 2、J35~J38には、月ごとの時間*単価を項目別に計算した値の計を表示させる関数 3、P35~P38にも上記同様の計を表示させる関数 以上、1,2,3に入力する関数が知りたいので、宜しくお願いします。 なお不明な点がありましたら随時補足していこうと思います。

  • EXCELでTODAY()の日付から31日分を表示

    EXCEL2002で、1行に31日分のその日の日付からスタートする、連続する日付カレンダーを表示させます。 ちなみに、$AC$1には =TODAY() の値が入り、AH2は30日目の日付になります。 =IF( OR( AND(OR(MONTH($AC$1)=4,MONTH($AC$1)=6,MONTH($AC$1)=9,MONTH($AC$1)=11),AH2=30), AND(MONTH($AC$1)=2,IF(OR(MOD(YEAR($AC$1),400)=0,AND(MOD(YEAR($AC$1),4)=0,MOD(YEAR($AC$1),100)<>0)),AH2=29,AH2=28)) ),1,AH2+1) 問題が発生しました。 $AC$1がうるう年ではない3月31日、5月31日、8月31日、10月31日にあたるとき、 31日目のセルには「1」が返されてしまいます。 AH2+1をAH2+10とすると10が返ります。 どうやら直前のセルの値AH2が「0」に評価されてしまうようです。 どこを直せば正しい値が返ってくるか教えていただけないでしょうか?

  • 先ほどの日にちを入れる件ですが

    先ほどの日にちを入れる件ですが、 年 =YEAR( TODAY() ) で2008と出さずに08とか和暦の20を出すのはどうすればよいか教えてください。 月 =MONTH( TODAY() ) 日 =DAY( TODAY() ) なお、 月と日は早速会社のフォームで活用されています。ありがとうございました。

  • 関数がうまく表示できない LOOKUP

    F3セルにポイント10点、8点、6点、4点のどれかを入力すると E3セルに下記のランクが表示するといったものです。 10点 A 8点 B 6点 C 4点 D 下記の関数を入れましたが、うまく表示できませんでした。 =IF(AND(F3=""),"",LOOKUP(F3,{10,8,6,4,2},{"A","B","C","D","E"})) 画像は本来ならBですが、Eと表示してしまっています。 どこが悪かったでしょうか?

  • excel関数について

    現在、EXCELで会社の注文書を作成しています。合計金額が入力されると同時に合計金額入力して日を発行日として表示したいのですが、その発行日が次の日になると変わってしまいます。良い方法はないでしょうか?日付が入るセルには以下の関数を入れています。 =IF(C15,TODAY()," ") できれば関数で教えてください。よろしく お願いします。

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。