Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


167 / 13645 ツリー ←次へ | 前へ→

【81691】Aの期間がBの期間に入っているかを判断する vba1年生 21/3/23(火) 14:52 質問[未読]
【81693】Re:Aの期間がBの期間に入っているかを判断... γ 21/3/23(火) 19:46 発言[未読]
【81702】Re:Aの期間がBの期間に入っているかを判断... vba1年生 21/3/26(金) 11:20 回答[未読]
【81703】Re:Aの期間がBの期間に入っているかを判断... 山内 21/3/26(金) 11:57 回答[未読]
【81704】Re:Aの期間がBの期間に入っているかを判断... vba1年生 21/3/26(金) 12:17 回答[未読]
【81705】Re:Aの期間がBの期間に入っているかを判断... 山内 21/3/26(金) 13:26 回答[未読]
【81706】Re:Aの期間がBの期間に入っているかを判断... vba1年生 21/3/26(金) 13:41 お礼[未読]

【81691】Aの期間がBの期間に入っているかを判断す...
質問  vba1年生  - 21/3/23(火) 14:52 -

引用なし
パスワード
   VBAの初心者です。
壁にぶち当たりましたので以下の方法を教えていただけると助かります!

[前提]
xとyの時刻データがあり、xの開始時刻はA列、終了時刻はB列にあり、
yの開始時刻はC列、終了時刻はD列にあります。

[やりたいこと]
xがyの期間に入っているか確認する。
ただし、xもyも個数はデータによって変動する。


宜しくお願いします。

【81693】Re:Aの期間がBの期間に入っているかを判...
発言  γ  - 21/3/23(火) 19:46 -

引用なし
パスワード
   念のため実例を挙げて下さい。
  A   B   C   D   E   F
1
2
3
のような行・列位置がわかるもので、
結果をどういう形式で表示するかも書いてください。

【81702】Re:Aの期間がBの期間に入っているかを判...
回答  vba1年生  - 21/3/26(金) 11:20 -

引用なし
パスワード
   ▼γ さん:
>念のため実例を挙げて下さい。
>  A   B   C   D   E   F
>1
>2
>3
>のような行・列位置がわかるもので、
>結果をどういう形式で表示するかも書いてください。

返信いただきありがとうございます!
そして気づくのが遅くなってしまい申し訳ありません。

実例ですが、
  A       B      C     D     E
1 11:07:10  11:08:10  11:05:00  11:14:00   〇
2 11:10:10  11:12:10  11:21:00  11:24:00   〇
3 11:23:10  11:25:10  11:25:00  11:28:00   ×

といった具合に、
A-Bの期間が、C-Dの期間に入っていれば、A-Bの行E列に〇、
入っていなければ×、としたいです。
A-B、C-Dはそれぞれペアになっていますが、
そのペアの個数は等しくないので、複数のA-Bの期間が一つのC-D期間に入ることもあります。

説明がうまくないかもしれませんが、宜しくお願いします。

【81703】Re:Aの期間がBの期間に入っているかを判...
回答  山内  - 21/3/26(金) 11:57 -

引用なし
パスワード
   E1セル
=IF(AND(A1>=C1,B1<=D1),"〇","×")
これを下にオートフィルとかでよろしいんじゃないでしょうか
あえてVBAでやる必要があるということでしたらまた考えてみます

【81704】Re:Aの期間がBの期間に入っているかを判...
回答  vba1年生  - 21/3/26(金) 12:17 -

引用なし
パスワード
   ▼山内 さん:
>E1セル
>=IF(AND(A1>=C1,B1<=D1),"〇","×")
>これを下にオートフィルとかでよろしいんじゃないでしょうか
>あえてVBAでやる必要があるということでしたらまた考えてみます

ご回答ありがとうございます。

すべて横並びになっていればそれもできるのですが、
A-BとC-Dが同じ行にありません。

ですので処理的には、たとえば1行目のA-B期間が、すべての行のC-D期間を参照しに行き、その中のどれかに入っていれば〇、どれにも入っていない場合は×としたいです。

【81705】Re:Aの期間がBの期間に入っているかを判...
回答  山内  - 21/3/26(金) 13:26 -

引用なし
パスワード
   セルE1
=IF(SUMPRODUCT(($C$1:$C$50<=A1)*($D$1:$D$50>=B1))>=1,"〇","×")
これでどうでしょうか
表の範囲がわからないのでそこは変えてください

【81706】Re:Aの期間がBの期間に入っているかを判...
お礼  vba1年生  - 21/3/26(金) 13:41 -

引用なし
パスワード
   ▼山内 さん:
>セルE1
>=IF(SUMPRODUCT(($C$1:$C$50<=A1)*($D$1:$D$50>=B1))>=1,"〇","×")
>これでどうでしょうか
>表の範囲がわからないのでそこは変えてください

ありがとうございます!
考えていたことができました!大変助かりました。

167 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free