[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『一年の契約期間入力 〜と入力すると一年後の日付を自動で表記したい』(ヨンヨン)
数か月ぶりに質問させていただきます。
一つのセルに「2017.1.10〜2018.1.09」というように1年の契約期間を入力しています。
〜と入力するとその後の2018.1.09を自動で表示するようにしたいのですが
どのように設定すればよろしいですか?
よろしくお願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
>>自動で表示
どこに自動で表示したいのですか? 2017.1.10〜 と入力する、そのセルですか?
数式で実現しようとしているなら、それは無理ですよね。 数式が、そのセルに書かれていたとして、2017.1.10〜 と入力すると、数式が消えてしまいますから。
やるなら、開始年月日のみをセルに入力。 別セルに、終了年月日を自動で作成する数式をいれる。 必要なら、それら2つのセルを 〜 を挟んで連結して表示する式を、どこかに書いておく。 あるいは、開始セルを参照して 別のセルに2017.1.10〜2018.1.09 と表示する。
こういったことではないでしょうか?
(β) 2017/01/05(木) 16:26
追加で。
どうしても 1017.1.10 といったように ピリオド区切りで入力したいですか? ふつうに 1017/1/10 といった、標準的な日付入力だといやですか?
(β) 2017/01/05(木) 16:38
Private Sub Worksheet_Change(ByVal Target As Range) Dim iw As Long Dim cw As String Dim dw As Date
If Target.Address <> "$D$3" Then Exit Sub
iw = InStr(Target.Value, "〜") If 0 < iw Then cw = Left(Target.Value, iw - 1) dw = CDate(Replace(cw, ".", "/")) Target.Value = cw & "〜" & Format(DateSerial(Year(dw) + 1, Month(dw), Day(dw) - 1), "YYYY.M.D") End If End Sub (???) 2017/01/05(木) 16:41
たとえば A1 に 1017.1.10 とピリオド区切りで入力するとして B1 : =IF(A1="","",IFERROR(TEXT(SUBSTITUTE(A1,".","/"),"yyyy.mm.dd")&"〜"&TEXT(DATE(YEAR(SUBSTITUTE(A1,".","/"))+1,MONTH(SUBSTITUTE(A1,".","/")),DAY(SUBSTITUTE(A1,".","/"))-1),"yyyy.mm.dd"),""))
とか。(素人なので長くなりました)
(β) 2017/01/05(木) 16:44
実は、ある一覧表にそのような設定がされており、コピーしようとしましたが、できませんでした。
出来れば、今まで通り、ピリオドで区切りたいと思います。
よろしくお願い致します。
(ヨンヨンj) 2017/01/05(木) 16:47
よろしくお願い致します。
(ヨンヨン) 2017/01/05(木) 16:49
>>一つのセルです。
なら、数式では無理です。マクロでどうぞ。
(β) 2017/01/05(木) 16:51
もう少し、具体的に教えていただけますか。
お願い致します。
(ヨンヨン) 2017/01/05(木) 17:22
ありがとうございました!
(ヨンヨン) 2017/01/05(木) 17:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.