質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

614閲覧

【Googleスプレッドシート】まとまった月数を展開する

r7656610

総合スコア3

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/04/06 04:49

編集2021/04/07 04:41

質問したいことがうまくタイトルにできず
申し訳ありません。以下に内容を記載いたします。

例 )

| 開始日 | 終了日 | 金額 |
ーーーーーーーーーーーーーー
| 4月1日 | 6月30日 |\500,000|

(上記は4月~6月は毎月50万円という意味)

この表を

| 4月 | 5月 | 6月 |
ーーーーーーーーーーーーーー
|\500,000|\500,000|\500,000|

このように、上記で開始日4~終了日6月という表記のものを
展開して4月50万、5月50万、6月50万
と、関数等を使ってスプレッドシート内で表記することは可能でしょうか?
(同じシートに)

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

3_April_2021

2021/04/06 06:44

以下の点がわかりませんでした。必要だと思われる場合は、質問を編集してください。 ・「かんすうする」 ・その表を書き換えますか、それとも別の表に書き込みますか。
r7656610

2021/04/06 07:30

表記→かんすう と勝手に変換されておりました。 先ほど修正いたしました。ご指摘ありがとうございます。 表は、書き換えではなく同じシート内の別の表と考えております。
3_April_2021

2021/04/06 12:05

If関数とMonth関数で問題が解決しない場合は、表に関するより詳細な情報を提供することをお勧めします。 注:私は通常、Googleスプレッドシートを使用しません。
sawa

2021/04/06 12:33

関数で対応可能です。以下確認です。 ・年が表記されてませんが、年をまたぐケースは無く考慮不要ってことでしょうか? ・例は1行のみですが、実際は複数行あったりしますか?(1行だけなら簡単です。複数行を展開する場合は式が複雑になりそうです)
r7656610

2021/04/07 01:28

3_April_2021 様 ご回答ありがとうございます。
r7656610

2021/04/07 01:29

sawa 様 コメントありがとうございます。 年をまたぐケースもあり得ます。 展開したいのは1行のみになります。 何卒よろしくお願いいたします。
guest

回答1

0

ベストアンサー

元の表が左上に作成されてる(開始日の文字がA1セル)としたら、以下のような式でどうでしょうか?
これだと少し修正すると複数行のケースでも対応できます。

=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)})

追記

追加質問で複数行の場合もあるとのことで、上記の式を修正した複数行対応の式は以下のようになります。

また、注意書きとして開始日には月初(1日)、終了日には月末(末日)が入ることを想定しています。

=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,)}))

投稿2021/04/07 02:22

編集2021/04/07 05:29
sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

r7656610

2021/04/07 04:41

展開できました。ありがとうございます。 すみません、もう一つ質問なのですが、 A1が開始日と仮定し上記の表があったとき、 A3 が3月1日、B3が7月31日だった場合も展開できますか? (例の写真をアップいたしました。)
sawa

2021/04/07 05:31

回答に追加しておきました。 事前の確認への回答に「展開したいのは1行のみになります」と返してますし、最初からキャプチャの画像を質問に掲載いただければ、こういった回答後のやり取りがなく一発で解決します。次回より質問の際は、なるべく具体的に(本当に求めてるもの)を記載するようにしましょう。
r7656610

2021/04/07 06:30

ご指摘ありがとうございます。 とても助かりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問