アプリ版:「スタンプのみでお礼する」機能のリリースについて

会社での管理表で年号入力する欄に例:1704と入力しています。2017年4月と言う意味ですが
他にこの票を使ってデータを取る際に日付を2017/04/01と表記させたいのですがうまくいかず
に困っています。ご教授願います。
管理表の入力方法を変更すれば良いだけの話ですが、それがNGの為に困っています。

A 回答 (4件)

No.2です。


式を訂正します。
=DATE("20"&LEFT(1704,2),RIGHT(1704,2),1)

"20"の次は「&」です。文字連結で「2017」を生成して「年」に指定しています。
失礼しました。
    • good
    • 0
この回答へのお礼

とても速い回答をありがとうございました。1704のところにセル番に変えて
行ったところ、思い通りの結果になりました。

お礼日時:2017/04/28 22:07

エクセルのバージョンによって違うかもしれませんが、1704では複雑な計算式を使わないと無理なので、せめて201704と入力できませんか?



201704と入力できたら、あとはセルの書式設定で、表示形式、日付、2001/03/14、とかを選択したら、2017/04/01と表示されます。
    • good
    • 0

読み込み先で、次のようにしてみて下さい。


=DATE("20"+LEFT(1704,2),RIGHT(1704,2),1)

「1704」は、それが記入されたセルを指定してください。
    • good
    • 0

こんばんは!



>この票を使ってデータを取る際に日付を2017/04/01と表記させたいのです
入力したセルそのものを今年のシリアル値になるようにしてみました。

VBAになりますが、一例です。
具体的な範囲が判らないので、A列限定としています。

画面左下の操作したいシート見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
A列に数値データを入力してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) '//この行から//
If Intersect(Target, Range("A:A")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value >= 1701 And .Value <= 1712 Then '//←今年限定としています★//
Application.EnableEvents = False
.Value = DateSerial(2000 + Int(.Value / 100), .Value Mod 100, 1)
Application.EnableEvents = True
End If
End With
End Sub '//この行まで//

※ とりあえず今年限定としています。m(_ _)m
    • good
    • 0

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