dポイントプレゼントキャンペーン実施中!

セルの書式の表示形式で、日付2012年12月24日と設定しました
それで12/24と入力すると、2017年12月24日と表示されます
一方文字列関数を使って、12/24とこのセルに出力させるようにしました
=LEFT(J5,2)&"/"&MID(J5,3,3)
という数式を書いています
この場合12/24とだけ表示されてしまいます。
なぜ2017年12月24日と表示されないのでしょうか?

A 回答 (4件)

色々整理して考える必要があります。


まず入力についてです。 Excelは「入力時に数値化できる数字は数値に変換」
する仕様になっています。シリアル値も数値ですから 文字列の「12/24」も
変換されます。

ただしこれは「入力」のルールです。数式には適用されません。
LEFT・MID関数は文字列を返す関数ですから 結果は必ず文字列で返ります。
「&」で繋いだ場合も必ず文字列になります。

これをシリアル値に変換する為には何かしら演算を加える必要があります。
これも仕様ですが「演算を加えた際に数値化できる数字は数値に変換」され
るからです。

J5に「1224」と入力しているのなら

=TEXT(J5,"0-00")-0
表示形式を「日付」設定

でシリアル値に変換されます。「-0」が演算です。「*1」でも「/1」でも
「-1」でもかまいません。 VALUE関数を使ってもいいです。
    • good
    • 0

何で日付の方は3文字分も抽出してるんだろう…?


その式で12/24と表示されるならJ5には1224って入ってるんじゃないんですか?

=(LEFT(J5,2)&"/"&MID(J5,3,3))*1

だとどうなりますか?
    • good
    • 0

下図各番号のセル位置をたとえば、2は J5 など


1から4まで補足されると回答し易いと思います。
「excel 日付書式のセルに、文字列関数」の回答画像2
    • good
    • 0

J5セルをコピーして、表示形式が標準のセルに値貼り付けすると「43093」となりますよね。

これが実態のシリアル値です。なので「=LEFT(J5,2)&"/"&MID(J5,3,3)」だと、こちらでは「43/093」になります。式が入っているセルの書式はどうなっていますか?またJ5セルは数式バーではどのように表示されていますか?
    • good
    • 0

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