• 締切済み

Excelの日付関数について教えてください

今使用しているExcelファイルでBの列に年月日が入っています。それをA列では年月だけ表示させたいのですがどのような関数を設定したらよいでしょうか? できればうちの会社が25日締めなのでたとえばB列の入力が2005/12/26から2006/1/25までの日付だとA列では06/01と表示させ、2006/1/26から2006/2/25までだと06/02と表示させたいのですがそういうことはできますでしょうか? <例>  A    B 06/01  2006/01/10 06/02  2006/02/15

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.12

もっと単純でいいと思うのですが... =TEXT(DATE(YEAR(B1),MONTH(B1)+1,DAY(B1)-25),"yy/mm") DATE関数は日が0の場合、前月の末日を表示します。 通常の月では1月前の表示になるので、月に+1することで要求を満たします。

noname#204879
noname#204879
回答No.11

[No.9 shikisaito]さんのご指摘、感謝します。 仰るとおり 12月26日~12月31日の分が間違った表示になりますね。私の検証不足をお詫びします。 それでは、次の式を提案します。と続けようと思ったら、既に[No.10 sige1701]さんが全く同じ式(2番目の方)を提示されていました。

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

=TEXT(DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>25),1),"yy/mm") A列の書式を、"yy/mm" と書式設定をし、 =DATE(YEAR(B1),MONTH(B1)+(DAY(B1)>25),1)

回答No.9

ANo.5のshikisaitoです。 ANo.8さんの数式は、年末処理がおかしくなります。 ...ということの気づいたと同時に、 私の数式=IF(DAY(B1)<26,TEXT(B1,"yy/mm"),TEXT(DATE(YEAR(B1),MONTH(B1)+1,DAY(B1)),"yy/mm"))も 月末処理がおかしくなる場合があります。 以下の数式に修正します。 =IF(DAY(B1)<26,TEXT(B1,"yy/mm"),TEXT(DATE(YEAR(B1),MONTH(B1)+1,1),"yy/mm"))

noname#204879
noname#204879
回答No.8

=TEXT(B1,"yy")&"/"&TEXT(MONTH(B1)+(DAY(B1)>24),"00")

  • poohron
  • ベストアンサー率59% (574/971)
回答No.7

#1です。 ありゃ、私も#4さんと同じくご質問をよく読んでいませんでした。 #1もお忘れ下さい。大変失礼致しました。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.6

#4です。ご質問をよく見ていませんでした。#4は忘れてください。大変失礼いたしました。

回答No.5

=IF(DAY(B1)<26,TEXT(B1,"yy/mm"),TEXT(DATE(YEAR(B1),MONTH(B1)+1,DAY(B1)),"yy/mm")) =IF(DAY(B1)<26,TEXT(B1,"yy/mm"),TEXT(EDATE(B1,1),"yy/mm")) ただし、下の数式は、[ツール]-[アドイン]で[分析ツール]に チェックが必要です。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.4

B1に日付があるとして、A1に、 =IF(B1="","",TEXT(B1,"yy/mm")) で可能です。

  • Jodie0625
  • ベストアンサー率30% (397/1288)
回答No.3

A1に、"yy/mm"の形式の書式設定をし、 =IF(DAY(B1)<26,B1,DATE(YEAR(B1),MONTH(B1)+1,DAY(B1))) の式を入れてください。 解説: ifの判定は、B1の日付をみて25日までだったら条件1、26日以降だったら条件2ということ。 条件1:  B1の日付をそのまま書式を変更して表示させています。 条件2:  B1の日付から一ヶ月後を求め、それを表示させています。

関連するQ&A