重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

もう一つエクセルの質問です。

関数などで今週中(たとえば、今日から今度の日曜)の選択、また来週中(今度の月曜日から日曜日)の選択、これらを満たす関数はあるのてしょうか?

A 回答 (4件)

No.1です。



どこかの列にシリアル値が羅列してあるのであれば、VBAで選択可能です。
仮にA列にシリアル値が羅列してあるとすると・・・

Dim c As Range
Dim myDate As Date

Sub 日曜選択()
 myDate = Date
  Do Until WorksheetFunction.Weekday(myDate) = 1
   myDate = myDate + 1
  Loop
   Set c = Range("A:A").Find(what:=DateValue(myDate), LookIn:=xlFormulas, lookat:=xlWhole)
    If Not c Is Nothing Then
     If c <> Date Then
      c.Select
     Else
      c.Offset(7).Select
     End If
    End If
End Sub

Sub 週選択()
 myDate = Date
  Do Until WorksheetFunction.Weekday(myDate) = 2
   myDate = myDate + 1
  Loop
   Set c = Range("A:A").Find(what:=DateValue(myDate), LookIn:=xlFormulas, lookat:=xlWhole)
    If Not c Is Nothing Then
     If c <> Date Then
      c.Resize(7).Select
     Else
      c.Offset(7).Resize(7).Select
     End If
    End If
End Sub

それぞれのマクロを実行するとA列のシリアル値が選択されると思います。
※ A列は途中の日付が飛んでいない連続したシリアル値だとします。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。シリアル、日付には穴がありませんので…
今日、確認できませんので明日入力後の操作でご連絡します。
ありがとうございます。

お礼日時:2020/05/27 20:31

>本当はマクロでボタンで選択を望んでました



選択はフィルタでよかったですか?

オートフィルタをマクロの記録からコードを読み取り細工しました。

E2に "日付" と文字列が入っています。
E3~E21に 日付 が入っています。 2020/5/25 みたい

F2~F21は 何かが入っています。

C2に  =TODAY()-7  と本日から七日前の日付が入ります

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Sub Macro2()

日付 = Range("C2")

限定 = ">=" & 日付

Range("E3").Select

Selection.AutoFilter
ActiveSheet.Range("$E$2:$F$21").AutoFilter Field:=2, Criteria1:=限定, _
Operator:=xlAnd

End Sub

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

とマクロをつくると、本日から7日前以降だけをオートフィルタで選べました。
    • good
    • 0
この回答へのお礼

がんばります

ありがとうございます。
とても参考になる考え方とおもいました。
今日から一週間以内、以降、の抽出はできます。

今日が曜日をとわず今週(今度の日曜日まで)とした考え方と
今日が曜日を問わず(次の月曜日から日曜日まで)の考え方
2つの選択、関数、もしくはマクロで、なかなかむずかしくて。

お礼日時:2020/05/27 20:49

直接的な関数はありません。

いくつかを組み合わせてならば可能でしょう。
WEEKNUM関数はその年の第何週かを示します。
WEEKDAY関数は、曜日を数値で返すので、
その数値から、週初めと終わりの日付や、翌週の日付などが計算できます。
これらを組み合わせればできることが推測できます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
エクセルに「今週中」との認識はなさそうですね。
マニアルで数式をいれかえないといけないようです。
本当はマクロでボタンで選択を望んでました

お礼日時:2020/05/27 19:03

こんばんは!



関数で選択!は無理だと思いますが、表示することは可能だと思います。

① 今日から今度の日曜の場合
=TODAY()-WEEKDAY(TODAY()-6,3)+7

② 今度の月曜~今度の日曜(来週の月~日)
表示したいセルに
=TODAY()-WEEKDAY(TODAY(),3)+ROW(A7)
という数式を入れ7行下へフィル&コピー!

とりあえずはこれでいけると思います。m(_ _)m
    • good
    • 0
この回答へのお礼

さっそくの解答ありがとうございます。
曜日に縛りなく自動化するのは無理みたいですね。今週中との認識はエクセルにはないものなのでしょうか?

お礼日時:2020/05/27 19:00

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