日時はA列に入っている想定
B列に日付のみ抽出したい
=ARRAYFORMULA(MID(A2:INDIRECT("A"&COUNTA(A2:A)+1),1,10))
C列に年月のみ抽出したい
=ARRAYFORMULA(MID(B2:INDIRECT("B"&COUNTA(B2:B)+1),1,7))
D列にその年の何週目か取得したい
=ARRAYFORMULA(LEFT(B2:INDIRECT("B"&COUNTA(B2:B)+1),4)&"-"&TEXT(WEEKNUM(B2:INDIRECT("B"&COUNTA(B2:B)+1),2),"00")&"週")
補足
何週目か取得したい場合に、以下のようにやると
=ARRAYFORMULA(LEFT(B2:INDIRECT("B"&COUNTA(B2:B)+1),4)&"-"&WEEKNUM(B2:INDIRECT("B"&COUNTA(B2:B)+1),2)&"週")
1週目〜9週目が一桁になり
このようになってしまう
TEXT関数を利用してこう書くことで解決しました
=ARRAYFORMULA(LEFT(B2:INDIRECT("B"&COUNTA(B2:B)+1),4)&"-"&TEXT(WEEKNUM(B2:INDIRECT("B"&COUNTA(B2:B)+1),2),"00")&"週")
関連記事
特定の列の値から特定の文字だけ抜き出したい(ARRAYFORMULA関数で)
西暦とその年の何週目かをWEEKNUMとARRAYFORMULAで出してみる
参考
TEXT
https://support.google.com/docs/answer/3094139?hl=ja