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

エクセルで文字列を日付として認識させる方法が分からずに困っています。

仕事でシステムからデータをエクセルの形式で抽出して加工する必要があります。

抽出したデータ中には日付(有効期限)のデータが含まれているのですが、その内容は
列1(開始):平成○年○月
列2(終了):令和元年○○月
という風に一つのセルに年月の情報が入力されています。

今回、vbaを使ってtoday時点でそのデータが現時点で有効かどうかを判断するツールを作る予定です。
しかし、入力されているデータが日付として認識されれば良いのですが、文字と数字が混在しており、また日付が年月までしか入力されておらず文字列として認識されてしまいます。

さらに令和1年では無く“令和元年”として整備されているので、数字として拾ってきて変換するのも難しい状況です。

もとのデータを変更せずに、これを日付としてうまく認識させる方法が思いつかないのですが、何かしら方法がありますでしょうか。お知恵をお借りしたくよろしくお願いします。

A 回答 (1件)

こんばんは!



質問文では月までの表示ですね。(日の部分は何日でも良いのでしょうか?)

別列表示で良いのであれば、関数で可能です。
仮にA1セル以降にデータがあるとし、B1セル以降に表示するとします。

=DATEVALUE(SUBSTITUTE(A1,"元",1)&"1日")

という数式を入れフィルハンドルでダブルクリック!
これでA列年月の1日のシリアル値として表示されるはずです。

※ もちろんVBAでも可能だと思いますが、
まずはこの程度で・・・m(_ _)m
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございます。
任意の日の情報を付け足してDATEValueで日付に変換させるんですね。勉強になりました。ありがとうございます(._.)

その先の動作を含めてvbaで動かしたいのですが、ワークシートファンクションで変換させてみたいと思います。

お礼日時:2020/01/21 22:22

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