ツイッター出題回答
m/d/yyyy形式文字列を日付シリアル値に変換

ExcelマクロVBAとエクセル関数についての私的雑感
最終更新日:2022-07-07

m/d/yyyy形式文字列を日付シリアル値に変換


ツイッターで出題した問題です。


エクセルでは、「m/d/yyyy」形式で入力しても文字列として扱われてしまいます。
そこで、「m/d/yyyy」を日付のシリアル値に変換する数式を考える問題です。


出題ツイート

「エクセル頭の体操」日付基本編
m/d/yyyy
この形式で入力しても、それは文字列として入力されてしまいます。
そこで、これを日付データに変換する数式を作成してください。
結果はシリアルで良い、見た目は表示形式で。
※指定形式以外のデータはエラーで構わない


Excel エクセル 問題 クイズ
https://twitter.com/yamaoka_ss/status/1544566387443527681


引用リツイートでの回答

出題者としての解答

文字列の「m/d/yyyy」を日付(シリアル値)にします。
右の4桁が年なので、
RIGHT(A1,4)
これで年が取れます。
/yyyyこれが5桁なので、全文字数-5がm/dの部分になります。
=(RIGHT(A1,4)&"/"&LEFT(A1,LEN(A1)-5))*1
これが短くて簡単だと思います。


文字列日付をシリアル値にするにはDATEVALUE関数を使います。
ただし日付と認識される文字列はそのまま計算に使えるので、何らかの計算をすればシリアル値になります。
()*1
()+0
-()
文字数も同じなのでどれでも良いと思います。
もちろん文字数気にせずにDATEVALUE関数を使って構いません。


今回は「m/d/yyyy」で固定でしたが、
例えば「m/d/yy」も混ざっている場合はどうでしょうか。
やり方はいろいろありそうですが、
2番目の「/」の位置を取得して分割すれば良さそうです。
=--(RIGHT(A1,LEN(A1)-FIND("/",A1,4))&"/"&LEFT(A1,FIND("/",A1,4)-1))
ご参考まで。


Excel エクセル 問題 クイズ
https://twitter.com/yamaoka_ss/status/1544934115073396736




同じテーマ「ツイッター出題回答 」の記事

オブジェクトのByRef、ByVal、Variant

ツイッターで出題した問題です。オブジェクトを引数にした場合の、ByRef、ByValの違いと、仮引数にVariantを指定した場合の動作違いを問う問題です。出題ツイート 【VBA問題】 Submain() Range("A1")=1 DimaAsRange:Seta=Range("A1…
「マクロの登録」で登録できないプロシージャーは?
ツイッターで出題した問題です。マクロはボタン等に「マクロの登録」で登録して使う場合が多いです。どのようなプロシージャーかによって「マクロの登録」での登録方法を違ってきます。このやり方を知っているかどうかを問うVBA問題です。
抜けている数値を探せ
ツイッターで出題した問題です。ランダムに配置された1~20の数値があります。抜けている数値を探す数式を作成するお題です。出題ツイート 「エクセル頭の体操」A1:A20に1~20までの数値がランダムに入っています。
15桁を超える数値の足し算
ツイッターで出題した問題です。エクセルでは整数値は15桁までの数値しか正しく扱えません。15桁を超える数値は16桁目以下は0となってしまいます。15桁の数値を合計して16桁になると、1の位が0になってしまいます。
ジャグ配列から順列を作成する
ツイッターで会話したので、それを実際にVBAで書いてみました。ジャグ配列(配列の要素に配列が入っている)から、要素を1つずつ取り出して全順列を作成します。競馬で言ったら、1列目、2列目、3列目を指定した3連単のようなものです。
m/d/yyyy形式文字列を日付シリアル値に変換
成績表(ネ申エクセル)を別表に集計
ツイッターで出題した問題です。ネ申エクセルとなっている成績表を、見やすいマトリックス表に数式で集計する問題です。出題ツイート 「エクセル頭の体操」ネ申エクセル編 画像1枚目の成績表データがあります。さすがにこれでは見づらいし扱いづらいので、2枚目のように集計してください。
シート内の全テーブルを1つに統合
ツイッターで出題した問題です。シート内にある複数のテーブルを、1つのテーブルに結合して別シートに出力します。出題ツイート 【VBA問題】 「Sheet1」のランダムな位置に複数のテーブルがあります。(添付1) テーブルは全て同一形式(列数・ヘッダーが同じ)です。
VBA穴埋め問題「On Error GoToの挙動」
ツイッターで出題したVBAの問題です。OnErrorGoToを使った場合に、2度目のエラー発生に対応するにはどうしたら良いかを問うVBA問題です。出題ツイート 【VBA問題】 さて問題です。「にゃん」と言えるようにするには、①に何を入れたら良いでしょうか? ✅OnErrorGoTo0 ChrW(9…
年月に対して有効な日だけの入力規則のリスト作成
ツイッターで出題したエクセルの問題です。年月日を別々のセルに入力してもらう場合に、年月によって決定する日の範囲(月の大小や2/29等)を日のセルの入力規則にリストとして設定する問題です。出題ツイート 【エクセル問題】日付・入力規則 C2セルに入力規則のリストを設定してください。
8桁数値が日付として不適切なら赤にする条件付き書式
ツイッターで出題した問題です。日付が8桁数値、つまりyyyymmdd形式で入力されている場合に、その入力されている8桁数値が日付として正しいかどうかを判定し、日付として不適切なら赤文字にする条件付き書式を設定します。出題ツイート 【エクセル問題】日付・条件付き書式 A列に条件付き書式を設定してください。


新着記事NEW ・・・新着記事一覧を見る

8桁数値が日付として不適切なら赤にする条件付き書式|ツイッター出題回答 (2022-08-10)
年月に対して有効な日だけの入力規則のリスト作成|ツイッター出題回答 (2022-08-10)
VBA穴埋め問題「On Error GoToの挙動」|ツイッター出題回答 (2022-08-09)
シート内の全テーブルを1つに統合|ツイッター出題回答 (2022-08-01)
VBAで漢数字を算用数字に変換|ツイッター出題回答 (2022-07-12)
成績表(ネ申エクセル)を別表に集計|ツイッター出題回答 (2022-07-09)
m/d/yyyy形式文字列を日付シリアル値に変換|ツイッター出題回答 (2022-07-07)
ジャグ配列から順列を作成する|ツイッター出題回答 (2022-07-05)
15桁を超える数値の足し算|ツイッター出題回答 (2022-07-01)
抜けている数値を探せ|ツイッター出題回答 (2022-07-01)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.Excelショートカットキー一覧|Excelリファレンス
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.エクセルVBAでのシート指定方法|VBA技術解説




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ