プロが教えるわが家の防犯対策術!

EXCEL2010で、A1セルに2017/09/15
というような形式で日付が入力されています。
B1セルには「29/09」・・・年/月を表示
C1セルには「29/上」・・・年度/上or下を表示
D1セルには「29」・・・年度を表示
A1セルを入力するとB1,C1,D1と表示させたいです。
B1,C1,D1の各セルに入力する関数を教えてください。
※但し、4月1日~9月30日までを上期、
10月1日~翌年3月31日までを下期としています。

A 回答 (3件)

過去ログを参考にする方法もあります。


https://oshiete.goo.ne.jp/qa/1221040.html

こちら↑のベストアンサーの方法を応用することでも可能です。
数式が長くなるよりはセルの表示形式などで対応しています。
(空白セルにも対応しているつもりです)

B1セルの場合
 =IF(A1="","",A1)
[セルの書式設定]での[表示形式] e/mm

C1セルの場合
 =IF(ISERR(EDATE(A1,-3)),"",EDATE(A1,-3))
[セルの書式設定]での[表示形式] e"/上"
[条件付き書式]で[数式を使用して~~]で
 =INT(MONTH(EDATE(A1, -3))/7)
にしたら、[書式]ボタンから[表示形式] e"/下"

D1セルの場合
 =IF(ISERR(EDATE(A1,-3)),"",EDATE(A1,-3))
[セルの書式設定]での[表示形式] e
「EXCEL2010関数」の回答画像3
    • good
    • 0

失礼しました。

D1は年度でしたね。改めて
D1セル =IF(MONTH(A1)<4,TEXT(DATE(YEAR(A1)-1,MONTH(A1),DAY(A1)),"e"),TEXT(A1,"e"))
C1セル =IF(AND(MONTH(A1)<3,MONTH(A1)<10),D1&"/上",D1&"/下")
では如何でしょうか。
    • good
    • 0

B1セル =TEXT(A1,"e/m")


C1セル =IF(AND(MONTH(A1)<3,MONTH(A1)<10),TEXT(A1,"e/上"),TEXT(A1,"e/下"))
D1セル =DAY(A1) 或いは =TEXT(A1,"d")
では如何ですか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!