teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答を追加

2021/04/07 05:29

投稿

sawa
sawa

スコア3002

answer CHANGED
@@ -3,4 +3,15 @@
3
3
 
4
4
  ```
5
5
  =ARRAYFORMULA({TEXT(EOMONTH(A2,SEQUENCE(1,DATEDIF(A2,B2,"M")+1,0)),"yyyy年MM月");IF(($A2<=EOMONTH(A2,SEQUENCE(1,DATEDIF(A2,B2,"M")+1,0)))*($B2>=EOMONTH(A2,SEQUENCE(1,DATEDIF(A2,B2,"M")+1,0))),$C2)})
6
+ ```
7
+
8
+ ---
9
+ 追記
10
+
11
+ 追加質問で複数行の場合もあるとのことで、上記の式を修正した複数行対応の式は以下のようになります。
12
+
13
+ また、注意書きとして開始日には月初(1日)、終了日には月末(末日)が入ることを想定しています。
14
+
15
+ ```
16
+ =ARRAYFORMULA(IF(A1:A="",,{TEXT(EOMONTH(MIN(A2:A),SEQUENCE(1,DATEDIF(MIN(A2:A),MAX(B2:B),"M")+1,0)),"yyyy年MM月");IF(($A2:$A<=EOMONTH(MIN(A2:A),SEQUENCE(1,DATEDIF(MIN(A2:A),MAX(B2:B),"M")+1,0)))*($B2:$B>=EOMONTH(MIN(A2:A),SEQUENCE(1,DATEDIF(MIN(A2:A),MAX(B2:B),"M")+1,0))),$C2:$C,)}))
6
17
  ```