Excel | Excel2007 |
---|
米国式(m/d/y)の次のような日付文字列をExcelの関数を使って日付形式に変換
5/28/2007■方針
文字列を"/"で分割してそれぞれ月,日,年としてDATE関数に渡す
■実現例
B2に対象の文字列が入っているとする
// 5/28/2007 // 1個目のスラッシュの位置を取得 =FIND("/", B2, 1) // 1個目のスラッシュまでを取得(月) =LEFT(B2, FIND("/", B2, 1)-1) // 5/28/2007 // 2個目のスラッシュの位置を取得 =FIND("/", B2, FIND("/", B2, 1)+1) // 2個目のスラッシュまでを取得(日) =MID(B2, FIND("/", B2, 1)+1, FIND("/", B2, FIND("/", B2, 1)+1)-FIND("/", B2, 1)-1) // 5/28/2007 // 2個目のスラッシュから最後までを取得 =MID(B2, FIND("/", B2, FIND("/", B2, 1)+1)+1, LEN(B2)-FIND("/", B2, FIND("/", B2, 1)+1)+1) // 2個目のスラッシュから最後までを取得して半角スペースを除去(年) // 不要文字列の除去は必要に応じて =SUBSTITUTE(MID(B2, FIND("/", B2, FIND("/", B2, 1)+1)+1, LEN(B2)-FIND("/", B2, FIND("/", B2, 1)+1)+1), " ", "") // 2007/5/28 // 日付に変換 =DATE(SUBSTITUTE(MID(B2, FIND("/", B2, FIND("/", B2, 1)+1)+1, LEN(B2)-FIND("/", B2, FIND("/", B2, 1)+1)+1), " ", ""), LEFT(B2, FIND("/", B2, 1)-1), MID(B2, FIND("/", B2, 1)+1, FIND("/", B2, FIND("/", B2, 1)+1)-FIND("/", B2, 1)-1))■まとめ
Excelの関数でSplit相当のことをやるのは面倒
■参考