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

こんにちは。
Excel2013をつかっておりますが、日付の抽出で困っています。
どなたかお分かりになりましたら、どうかお助けください。

セルA1に
ABC Bar    2013-01-19 00:33:17     47777   New World       1154789650

セルA2に
Cafe du rock 2013-03-10 00:30:30 65897 New Era City 6500321540

という情報があったとして、
-で結ばれた日付のみをセルB1, B2に抽出することは可能ですか。

毎日100行以上のデータがあるのですが、
いまのところ、ひとつひとつコピペしており、時間がかかって困っております。

どうぞよろしくお願いいたします。

A 回答 (3件)

ハイフンが日付の部分よりも前の文字列に含まれていないなら以下の式で日付部分が抽出できます。



=MID(A1,FIND("-",A1)-4,10)

上記の式は日付を「文字列」として取得していますので、通常のシリアル値にしたいなら以下のように「*1」をして、セルの書式設定で表示形式を適宜日付の書式にしてください。

=MID(A1,FIND("-",A1)-4,10)*1
    • good
    • 0
この回答へのお礼

MackyNo1さま

たいへん分かりやすいご回答、どうもありがとうございました。
このようなシンプルな式で解決できるものだったのですね。勉強になりました。

本当にありがとうございました!

お礼日時:2013/03/14 00:28

こんばんは!


VBAになってしまいますが、一例です。
日付だけで、時刻は表示しなくてよい訳ですよね?

とりあえず日付は今年のシリアル値としています。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim i As Long, k As Long, str As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To Len(Cells(i, 1))
str = Mid(Cells(i, 1), k, 5)
If str = "2013-" Then
With Cells(i, 2)
.Value = Mid(Cells(i, 1), k, 10)
.NumberFormatLocal = "yyyy-mm-dd"
End With
End If
Next k
Next i
End Sub 'この行まで

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

tom04さま

ご丁寧なご説明どうもありがとうございます。

VBA、マクロ... エクセル初心者のわたしには未だ難しいですが、印刷してこれから勉強してみます!

どうもありがとうございました!

お礼日時:2013/03/14 00:37

B1に以下の式を入力



=MID(A1,FIND("-",A1,1)-4,10)

但し、形式が xxxx-xx-xx となっていること、日付より前にハイフンが使われていないことが条件です。

NG例
cafe-du rock 2013-03-10
care du rock 2013-1-1

など
    • good
    • 0
この回答へのお礼

Hypnomaticさま

ご回答いただきましてありがとうございました。
形式が異なったらNGなのですね。幸いデータはすべてxxxx-xx-xxで日付より前にハイフンがないので、適用することができました。

どうもありがとうございました!

お礼日時:2013/03/14 00:31

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

このQ&Aを見た人はこんなQ&Aも見ています