プロが教えるわが家の防犯対策術!

2020111→11月第一週 月曜日の日付にするため11/2
20200112→11月第二週 月曜日の日付にするため11/9
20200115→11月第五週 月曜日の日付にするため11/30

質問者からの補足コメント

  • どう思う?

    2020111(意味としては2020年11月1週目)と記載されているのを11月第一週 月曜日の11/2に関数で変換したいという意味です。
    週の数え方は段数で例えば2021年1月は6週あると数えます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/11/25 17:12

A 回答 (5件)

ご質問者の指定では



>週の数え方は段数で例えば2021年1月は6週あると数えます。

ということなので第一週の月曜日は月によっては存在しない場合があります(第一月曜日はどの月にも存在します)。
つまり、存在しないものを指定された場合どうするのかと言う問題がありますが、常識的判断として「第◇週月曜日が存在しない場合は、存在する第○週月曜日の第○週と第◇週との週差を減算、または加算した月曜日」を表示するものとします。
また、ご質問者はデータの入力のルールを示していません。「2020111→11月第一週 月曜日の日付にするため11/2 」といっていますが、月が1桁のとき、例えば2月の場合、「2021021」と入力するのか、「202121」と入力するのか定かではありません。
No.2さんの解答は2桁固定と仮定し、ご回答されたものだと思います。

ここでは、月の入力が1桁、2桁のいずれにも対応できる数式とします。
入力セルをA1とし、B1にそれに対応する日を表示する場合、B1に記述するご質問者のご希望を叶える数式は、

=DATE(LEFT(A1,4),MID(A1,5,LEN(A1)-5),1)-WEEKDAY(DATE(LEFT(A1,4),MID(A1,5,LEN(A1)-5),1))-5+RIGHT(A1,1)*7

となります。

数式の意味は
1.DATE(LEFT(A1,4),MID(A1,5,LEN(A1)-5),1)で月初日を特定・・・①
2.WEEKDAY(DATE(LEFT(A1,4),MID(A1,5,LEN(A1)-5),1))で月初日の曜日から1~7の値を取得・・・②
3.①-②で前月最終土曜日を特定(カレンダーでいう、月初日の前段の週(以下「前段週」と呼ぶ)を特定)・・・③
4.③-5で月初日の「前段週」の月曜日を特定・・・④
5.RIGHT(A1,1)が「第◇週月曜日」の◇にあたる。それに7を掛けた「RIGHT(A1,1)*7」を④で特定した月初日の「前段週」の月曜日に加えたものが「第◇週月曜日」

ということです。
「【至急】Excelで下記を計算するにはど」の回答画像5
    • good
    • 0

添附圖參照(Excel 2019)


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
「【至急】Excelで下記を計算するにはど」の回答画像4
    • good
    • 0

関数を組み合わせて、目的のものを出してはどうでしょうか。


一つの数式にもできるのでしょうが、作業用の領域をつくって、1段ずつ必要なデータを引き出して、それを組み合わせるのも 方法でしょう。
「【至急】Excelで下記を計算するにはど」の回答画像3
    • good
    • 0

こんにちは



ご提示の、
>20200112→11月第二週 月曜日の日付にするため11/9
>20200115→11月第五週 月曜日の日付にするため11/30
は誤りで、それぞれ 2020112、2020115 が正しいものと解釈しました。
また、その月の1日の曜日が火~土曜日の場合には、「第一週の月曜日」は「前月の最終月曜日」となるものと解釈しました。
(違っている場合は、適当に修正してください)

A1セルに対象の文字列があるとして、計算したいセルに
=DATE(LEFT(A1,4),MID(A1,5,2),1)-WEEKDAY(DATE(LEFT(A1,4),MID(A1,5,2),1))-5+RIGHT(A1,1)*7
を入力して、セルの書式を日付にしておくのではいかがでしょうか?
    • good
    • 0

ん?意味が分からない、Excelにどうしたいか、ベタ打ちで書いて画像を貼ってください。

この回答への補足あり
    • good
    • 0

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