- ベストアンサー
【エクセル】複数情報を含むセルから日付のみ抽出方法
- Excel2013を使用している際に、複数の情報が含まれるセルから日付のみを抽出する方法について困っています。
- 具体的には、以下のような情報がセルに含まれています。
- -で結ばれた日付のみを抽出し、他のセルに表示することは可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ハイフンが日付の部分よりも前の文字列に含まれていないなら以下の式で日付部分が抽出できます。 =MID(A1,FIND("-",A1)-4,10) 上記の式は日付を「文字列」として取得していますので、通常のシリアル値にしたいなら以下のように「*1」をして、セルの書式設定で表示形式を適宜日付の書式にしてください。 =MID(A1,FIND("-",A1)-4,10)*1
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 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
お礼
tom04さま ご丁寧なご説明どうもありがとうございます。 VBA、マクロ... エクセル初心者のわたしには未だ難しいですが、印刷してこれから勉強してみます! どうもありがとうございました!
- Hypnomatic
- ベストアンサー率53% (56/104)
B1に以下の式を入力 =MID(A1,FIND("-",A1,1)-4,10) 但し、形式が xxxx-xx-xx となっていること、日付より前にハイフンが使われていないことが条件です。 NG例 cafe-du rock 2013-03-10 care du rock 2013-1-1 など
お礼
Hypnomaticさま ご回答いただきましてありがとうございました。 形式が異なったらNGなのですね。幸いデータはすべてxxxx-xx-xxで日付より前にハイフンがないので、適用することができました。 どうもありがとうございました!
お礼
MackyNo1さま たいへん分かりやすいご回答、どうもありがとうございました。 このようなシンプルな式で解決できるものだったのですね。勉強になりました。 本当にありがとうございました!