No.7ベストアンサー
- 回答日時:
こんばんは!
この質問限定の関数(ユーザー定義関数)を作ってみてはどうでしょうか?
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
普通のワークシート関数と同じ使い方をします。
Function myDT(c As Range) '//この行から//
Dim myY As Long, myD As String, myT As Variant, buf As String
myY = Mid(c, InStrRev(c, "/") + 1, 4)
myD = Left(c, InStrRev(c, "/") - 1)
buf = Replace(c, myD & "/" & myY, "")
myT = Left(Trim(buf), InStr(buf, "M") - 3)
If InStr(c, "PM") > 0 Then
myT = TimeValue(myT) + 0.5
End If
myDT = DateValue(myY & "/" & myD) + TimeValue(myT)
End Function '//この行まで//
A1セルからデータがあり、B列に表示するとします。
B1セル(セルの表示形式は好み「yyyy/m/d h:mm:ss」などにしておく)に
=myDT(A1)
としてフィルハンドルで下へコピー!
これでB列にシリアル値が表示されますので、
B列をキーに並び替えが可能です。m(_ _)m
VBEとかよく分かりませんが、すごいですね。
ご指示通りやったら並び替えに成功しました。びっくりです。
本当にありがとうございました。
P.S.
この関数というやつは、別のファイルでも(=myDT)だけ入力すれば使用できるのでしょうか?それとも同じ手順を踏む必要があるのでしょうか?
No.8
- 回答日時:
開いている PCの問題ですから 言語設定を変えてやれば正常に
日付として認識します。
コントロールパネルの [地域と言語]で 形式を「英語(米国)」に
して「適用」をクリック
この状態で 列を参照して [データ]→[区切り位置]→[完了]を実
行すれば シリアル値に変換できます。
後は 形式を「日本語(日本)」に戻して[OK]でいいはずです。
なるほど。そういうやり方もあるのですね。
マックなのでコントロールパネルはありませんが、設定から似たようなことを試して見ます。ありがとうございました。
No.6
- 回答日時:
米国式日付形式文字列を日本語版 Excel に使用可能にするための変換式を考えてみました。
添付図参照
B1: =(MID(A1,FIND("/",A1,4)+1,FIND(" ",A1)-FIND("/",A1,4)-1)&"/"&REPLACE(A1,6,5,""))*1 書式は yyyy/m/d h:mm:ss AM/PM
C1: =B1 書式は m/d/yyyy h:mm:ss AM/PM
ありがとうございます。
並び替えるを行うと日付でソートされずに数字を見てソートされているようなので、そこがクリアにナルト嬉しいです。
(またB1はそのままペーストすると#Value!が出ます。最後にある*1を削除すると表示されますが、*1は不要なのでしょうか?)
No.5
- 回答日時:
No.4 について
この手の物は変数を使えば簡単なんですが、使えないのでB~F列を変数として使っています。(1つの式で作る強者もいますが僕はそのタイプではありません)
B列は1つ目の「/」の位置です。
C列は2つ目の「/」の位置です。
D列は「 」の位置です。
E列はA列の文字数です。
F列はそれぞれを使って「月」「日」「年」「時刻」に、それぞれ分けて変換しています。(ここも、それぞれの項目に分けた方が判りやすいかもしれないけど、どうにかおさまるレベルなのでまとめちゃいました。幸いだったのは時刻の方はそのまま認識してくれたので助かりました)
No.4
- 回答日時:
2行追加でも出来るとは思うのですが、訳が分からなくなるので分割します。
例えば元の列がA列とした場合右隣に6列挿入します(B~Gに空欄が出来るはず)
B~F列の書式設定を「標準」にしておきます
G列の書式設定を「yyyy/mm/dd h:mm:ss」などにしておきます
B列に「=SEARCH("/",A1)」を入れます
C列に「=SEARCH("/",A1,B1+1)」を入れます
D列に「=SEARCH(" ",A1)」を入れます
E列に「LEN(A1)」を入れます
F列に「=DATE(MID(A1,C1+1,D1-C1-1),LEFT(A1,B1-1),MID(A1,B1+1,C1-B1-1))+TIMEVALUE(MID(A1,D1+1,E1-D1))」を入れます
F列をコピーしてG列に「値」貼り付けします。
G列に問題が無ければA~F列を削除します。
すごいですっ!(ここまで解決してしまうとは!驚きと感動です)
他人のためにここまでしていただいて本当にありがとうございます。
1点だけ分からないのですが、
>G列の書式設定を「yyyy/mm/dd h:mm:ss」
これは、セルの書式設定>ユーザー設定>種類をyyyy/mm/dd h:mm:ss
を選択すれば良いのでしょうか?
↓
そのようにすると
↓
2017/10/19 0:00:00 と時間が0:00:00と表示されてしまいます。
No.2
- 回答日時:
それでしたら、以下のような形で文字列からシリアル値に変換されたら良いのでは?
例えば元の列がA列とした場合右隣に2列挿入します(B・Cに空欄が出来るはず)
B列の書式設定を「標準」にしておきます
C列の書式設定を「yyyy/mm/dd h:mm:ss」などにしておきます
B列に「=DATE(MID(A2,7,4),LEFT(A2,2),MID(A2,4,2))+TIMEVALUE(MID(A2,12,11))」を入れます
それをコピーしてC列に「値」貼り付けします。
C列に問題が無ければAB列を削除します。
回答ありがとうございます。
B列に上記をペースとしたら、”#value!”という表示が出ました。
これって、私の説明不足でしたが、日付の表示の桁数が日や時間によって違うことと関係しますか?
11/16/2017 9:07:33 AM
9/3/2017 10:32 PM
どのように処理したら良いでしょうか?
(甘えてばかりですいません。)
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 郵便・宅配 中国サイトで商品を購入しましたアウターシップで追跡番号でしらべたら 輸送中 (9日間) 電子メールの 1 2023/01/07 15:37
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- その他(コンピューター・テクノロジー) Power Shellコマンドで作成日時を一括シフトする方法 3 2022/10/21 12:37
- Excel(エクセル) エクセルでの色付け 5 2022/10/09 18:58
- Excel(エクセル) エクセルについて 6 2022/11/29 14:07
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) マクロ 2行ごとの並び替えについて 4 2022/12/14 12:27
- Excel(エクセル) Excel 行の"〇" を検索して見出し(日付)を表示させたい 1 2022/04/04 18:35
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel元に戻す方法を教えてくだ...
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
「B列が日曜の場合」C列に/...
-
エクセルで最初のスペースまで...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
文字列に数字を含むセルを調べたい
-
エクセルで文字が混じった数字...
-
エクセルの並び変えで、空白セ...
-
エクセル(勝手に太字になる)
-
Excelで半角の文字を含むセルを...
-
エクセルの表から正の数、負の...
-
Excel、市から登録している住所...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 同じ値を探して隣の...
-
オートフィルターをかけ、#N/A...
-
EXCELで 一桁の数値を二桁に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
-
エクセルで、列の空欄に隣の列...
-
エクセルの表から正の数、負の...
-
エクセルの並び変えで、空白セ...
-
VBAで文字列を数値に変換したい
-
A列がない・・・A列が非表示に...
-
文字列に数字を含むセルを調べたい
-
50人を数回、グループ分けする...
おすすめ情報
日付の桁数がバラバラです。
月、日、時間が以下のように1桁だったり2桁だったりと厄介なことになっています。
11/16/2017 9:07:33 AM
9/3/2017 10:32 PM