データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
土日を考慮した数式にするならE2セルに以下のような数式を入力します。
=WORKDAY(F2-"17:30",2)
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
コミュニティーの皆さま:
ご質問させていただきます。
下のように実行日(日付+時間の値)が入ったセルのある表があるとします。
実行日の5:30PM以前のものは次の日に決済され、5:30PM以降は次の次の日に決済されるとします。
E行に実行日が5:00PM以前の値は実行日+1日追加した日付
E行に実行日が5:00PM以後の値は実行日+2日追加した日付
を入力できる式を入力することはできますでしょうか?
実をいうと実行日がテキストで入っているのかよくわからないので、隣にコピーして数字フォーマットを選びました。
シリアル番号が出たので、テキストでは入っていないと思うのですが・・・。
もしよろしかったらお知恵を頂けると幸いです。
Windows 7, Excel 2013です。
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
何の工夫もないマクロで恥ずかしいのですが、、、
Sub 決済日入力マクロ()
Dim i As Long
Dim last As Long
last = Cells(Rows.Count, 6).End(xlUp).Row
For i = 2 To last
If Weekday(Cells(i, 6)) = vbMonday And TimeValue(Cells(i, 6)) <= TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 1
ElseIf Weekday(Cells(i, 6)) = vbMonday And TimeValue(Cells(i, 6)) > TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 2
ElseIf Weekday(Cells(i, 6)) = vbTuesday And TimeValue(Cells(i, 6)) <= TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 1
ElseIf Weekday(Cells(i, 6)) = vbTuesday And TimeValue(Cells(i, 6)) > TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 2
ElseIf Weekday(Cells(i, 6)) = vbWednesday And TimeValue(Cells(i, 6)) <= TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 1
ElseIf Weekday(Cells(i, 6)) = vbWednesday And TimeValue(Cells(i, 6)) > TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 2
ElseIf Weekday(Cells(i, 6)) = vbThursday And TimeValue(Cells(i, 6)) <= TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 1
ElseIf Weekday(Cells(i, 6)) = vbThursday And TimeValue(Cells(i, 6)) > TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 4
ElseIf Weekday(Cells(i, 6)) = vbFriday And TimeValue(Cells(i, 6)) <= TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 3
ElseIf Weekday(Cells(i, 6)) = vbFriday And TimeValue(Cells(i, 6)) > TimeValue("17:30") Then
Cells(i, 5) = Cells(i, 6) + 4
ElseIf Weekday(Cells(i, 6)) = vbSaturday Then
Cells(i, 5) = Cells(i, 6) + 3
ElseIf Weekday(Cells(i, 6)) = vbSunday Then
Cells(i, 5) = Cells(i, 6) + 2
End If
Next
End Sub
ここはExcelをコピー貼り付けるだけで表が出来上がります。
質問をよく読まずに回答してたので削除しました。
マックちゃん (敬称略)の回答みてきがつきました。
すみませんでした。
ファ~様:
ありがとうございました。
エクセルの表を添付できるのかと探したのですが、添付するクリップが見つかりませんでした。
表の作成のアイコンをクリックしても何もでてこなかったのでエクセルを付けることができずに申し訳ございません。
式をよく見て内容を理解して使用させていただきます。
祭日・・・そうですね。 実は祭日があるとパターンがちょっと崩れるのですが、祭日の時だけは手作業で決済日をちょちょっと調節する予定です。
今一番の鬼門が土日ですので、そこをクリアできると非常に楽になります。
ありがとうございました。
6:30を足してやってそのあと書式なり切り捨てなり
つかえばよさそう。