Sunilは、NETWORKDAYS関数を使用して、2つの日付の間の通常の営業日数を返すことができます。この関数は、土曜日と日曜日が就業日ではないことを前提としていますが、Sunilの組織では、日曜日のみが非就業日としてカウントされます。彼は、NETWORKDAYSを使用して、返されるカウントから日曜日のみを除外するように指定する方法があるかどうか疑問に思います。

これは、NETWORKDAYS関数に基づく式を使用して決定できます。開始日がA1にあり、終了日がB1にあると仮定すると、次の式は2つの日付の間の日を調べ、基本的にその範囲の日曜日以外の日数を返します。

=NETWORKDAYS(A1,B1)+SUMPRODUCT(--(WEEKDAY (ROW(INDIRECT(A1&":"&B1)))=7))

もちろん、除外されるのは日曜日だけなので、NETWORKDAYSの使用をスキップし、SUMPRODUCTを使用して、その日をカウントする必要があるかどうかを判断できます。

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A1&":"&B1)))>1))

範囲内に休日があり、それらの休日が「休日」という名前の範囲内にあると予想される場合は、次の式でNETWORKDAYSを使用することに戻る必要があります。

=NETWORKDAYS(A1,B1,holidays)+SUMPRODUCT(-- (WEEKDAY(ROW(INDIRECT(A1&":"&B1)))=7),-- (NOT(ISNUMBER(MATCH(ROW(INDIRECT(A1&":"&B1))

,holidays,0)))))

もちろん、最新バージョンのExcel(Excel 2010以降)を使用している場合は、古いNETWORKDAYS関数よりも多くの機能を実行するNETWORKDAYS.INTL関数を使用できます。 2つの最大の違いは、NETWORKDAYS.INTLを使用すると、関数が週末をどのように処理するかを指定できることです。したがって、たとえば、日曜日のみを「週末」と見なす必要があるSunilの場合、次の式を使用できます。

=NETWORKDAYS(A1,B1,11,Holidays)

このバージョンとフルバージョンのNETWORKDAYS関数の唯一の違いは、新しい3番目のパラメーターが含まれていることです。この場合、値11は、日曜日のみを週末と見なす必要があることを示していますが、必要に応じて、他のパラメーター値を使用できます。

Number

Weekend Days

1

Saturday, Sunday

2

Sunday, Monday

3

Monday, Tuesday

4

Tuesday, Wednesday

5

Wednesday, Thursday

6

Thursday, Friday

7

Friday, Saturday

11

Sunday

12

Monday

13

Tuesday

14

Wednesday

15

Thursday

16

Friday

17

Saturday

NETWORKDAYS.INTLを使用して他の魔法を実行することもできますが、それは別の_ExcelTips_に任せるのが最善です。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12450)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります: