一回も披露したことのない豆知識

┏━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┳━━┓
┃ ┃ A ┃ B ┃ C ┃ D ┃ E ┃ F ┃ G ┃ H ┃ I ┃ J ┃
┣━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃1 ┃  ┃開始┃終了┃1/1 ┃1/2 ┃1/3 ┃1/4 ┃1/5 ┃1/6 ┃1/7 ┃
┣━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃2 ┃○○┃1/2 ┃1/4 ┃  ┃ ○ ┃ ○ ┃ ○ ┃  ┃  ┃  ┃
┣━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃3 ┃×× ┃1/5 ┃1/7 ┃  ┃  ┃  ┃  ┃ × ┃× ┃ × ┃
┣━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃4 ┃△△┃1/1 ┃1/4 ┃ △ ┃ △ ┃ △ ┃ △ ┃  ┃  ┃  ┃
┣━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━╋━━┫
┃5 ┃□□┃1/3 ┃1/7 ┃  ┃  ┃ □ ┃ □ ┃ □ ┃ □ ┃ □ ┃
┗━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┻━━┛
うまく表が表示できているかわかりませんが・・・
1行目には、日付が入っています。

2行目よりプロジェクトごと、実施期間に対応した日付の列に
何か文字列が入っています。

B列とC列にそれぞれ、開始日と終了日を取得できる関数はないでしょうか。
(文字列が入っている最初と最後のアドレスを取得し、1行目の日付を取得したい)
関数ではできない場合はマクロでも結構ですので
教えていただけないでしょうか。

A 回答 (1件)

こんばんは!



① 開始~終了は連続している。
② 複数の連続セルはない!(必ず一塊だけ)

上記の前提条件になります。
1行目はシリアル値が入っているとして、1か月分(AH列)までの範囲としてみました。

B2セル(セルの表示形式は「日付」にしておく)に
=IF(COUNTA(D2:AH2),MIN(IF(D2:AH2<>"",D$1:AH$1)),"")

配列数式なので、Ctrl+Shift+Enterで確定!(←必須★)

C2セル(セルの表示形式は「日付」)に
=IF(COUNTA(D2:AH2),B2+COUNTA(D2:AH2)-1,"")

C2セルは配列数式ではありません。

それぞれのフィルハンドルで下へコピーしてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます。
ずっと悩んでいてできなかったことができました。
感動しました!!

お礼日時:2018/01/22 20:04

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