
別紙添付の資料はある方のユーチューブを参考にしています、私が取り出したい営業日の日付一覧は2025年1月から12月末までの一年間の土日祝日を除いた日付一覧表をA2から下に作りたいのですが、ユーチューブを参考に取り込んだ数式 =WORKDAY($D$1,ROWS($B$2:$B2),$F$3:$F$23)の意味がよく分かっていません、例えばなぜ$B$2:B2が必要なのかとか?この数式の意味を分かりやすくご説明いただけないでしょうか?私なりに2025年の営業日一覧表が作りたいのです、よろしくお願します。

No.4ベストアンサー
- 回答日時:
画像から判断すると、ご質問者のEXCELのバージョンはスピル機能に対応していると思います。
ご質問者がお示しになった数式
=WORKDAY($D$1,ROWS($B$2:$B2),$F$3:$F$23)・・・①
はスピル機能を使用せず、A2に数式を入力して、下方向へコピーするためのものだと思います。
そうではなく、A2セルに入力するとスピル機能により、A2セル以下に1年分の営業日が表示される数式をお示ししたいと思います。
既に、①の数式の意味については、zongaiさんが、詳細に説明されておられます。
私がお示しするスピル機能バージョンと比較しながら、もう一度数式の意味を確認いただければ幸いです。
最初に祝日一覧を作成します。作成方法はいろいろあると思いますが、
https://shukujitsu.net/years/2025/
などのサイトからコピーしてEXCELに貼り付けして整形するのが簡単だと思います。
続いて、祝日一覧をテーブル化します。以下のURLを参考にしてください。
https://www.tku.ac.jp/iss/guide/classroom/tipspc …
さらにテーブルの名前を「祝日一覧」に変更します。以下のURLを参考にしてください。
https://www.officeisyours.com/entry/2020/10/11/1 …
その上で、A2セルに
=IFERROR(WORKDAY(D1,ROW(1:250),祝日一覧[日付])/(YEAR(WORKDAY(D1,ROW(1:250),祝日一覧[日付]))=YEAR(D1)),"")・・・②
という数式を入れます。
これで、スピル機能によりA2セル以下に1年分の営業日が表示されます。
なお、D1セル、A2以下のA列のセルおよびテーブル「祝日一覧」の日付の表示形式はユーザー定義で「yyyy/mm/dd」としておくとレイアウトが揃って見やすくなります。

No.3
- 回答日時:
こんばんは
WORKDAY関数の原理は他の方の解説にある通りです。
で、「日数」に当たる部分の指定を、「1、2、3・・・」と増やしていけばお求めの結果になることは理解できると思います。
「1、2、3・・・」と増やしてゆく仕組みとして、ご提示の式では
>ROWS($B$2:$B2)
を使っていますけれど、もっと簡単にして
=WORKDAY($D$1,ROW(B1),$F$3:$F$23)
でも可能です。
ROW関数は行番号を返す関数なので、試しにどこかのセルに
=ROW(B1)
を入力して、下方にフィルコピーしてみれば、「1、2、3・・・」となることがわかるでしょう。
(ちなみに、ROWS関数は指定した範囲の行数を返す関数です)
また、ご提示の関数の場合、「開始日」の翌営業日からの一覧が表示されますが、開始日を含めて表示したいような場合には、「1、2、3・・・」を「0、1、2・・・」となるようにすれば良いので、入力する式を
=WORKDAY($D$1,ROW(B1)-1,$F$3:$F$23)
のように変えれば良いですね。
一方で、最近ではスピル機能が使えるバージョン(=Office365等)もありますので、そちらをお使いの場合であれば・・
例えば、A2セルに
=WORKDAY(D1,ROW(B1:B250),F3:F23)
の式を入力すれば、250日分の営業日が下方にスピルされます。
(フィルコピーする必要はありませんし、コピーしないので絶対参照の $記号も不要になります)
上式は「250日分」固定ですが、表示する日数も可変にしたければ・・
(式を変更すれば、もちろん変えられますが)
例えば、D2セルに日数を入力することにして(=100など)A2セルの式を
=WORKDAY(D1,ROW(OFFSET(B1,,,D2)),F3:F23)
としておけば、D2セルで指定した日数分の営業日がスピルされるようになります。
No.1
- 回答日時:
=WORKDAY($D$1,ROWS($B$2:$B2),$F$3:$F$23)の意味がよく分かっていま
=WORKDAY(開始日,日数,[祝日])
数式を入力しようとするとこのようなアシスト表示が出ると思います。
「【開始日】から土日と【祝日】を除いた【日数】日目の営業日」
を返す関数です。
【開始日】は、そのまま営業日カウントの基準となる日。
【祝日】、土日以外に営業日から除外する日付のリストを指定します。
ここまでは理解されていると思います。
添付画像を見ると、
A列には開始日以降の営業日を並べるのですよね。つまり、
A2には1営業日にあたる日
A3には2営業日にあたる日
A4には3営業日にあたる日
・・・
と続くわけで。
これを数式にすると
A2=WORKDAY($D$1,1,$F$3:$F$23)
A3=WORKDAY($D$1,2,$F$3:$F$23)
A3=WORKDAY($D$1,3,$F$3:$F$23)
・・・
と式の一部、『【日数】にあたる数字を増やしていかなければならない』のです。
式を下にコピーしてもこの数字は増えません。
これ、各セルごとに直接入力するのは手間ですよね。
この数字を、式のコピーだけで勝手に増えてくれるようにする方法はないか?
と考える必要があるわけです。
---------------------------------------------
そこで出てきたのがコレ。
ROWS($B$2:$B2)
これは、$B$2:$B2 の範囲の行数を取得するものです。
$B$2:$B2だと、範囲としてはB2セルだけなので1行です。
この式を下にコピーしていくと、絶対参照になっていない($のついていな)最後の2だけが増えていきます。
=ROWS($B$2:$B2)
=ROWS($B$2:$B3)
=ROWS($B$2:$B4)
・・・
それぞれの結果は、順に
$B$2:$B2 の範囲の行数は 1。
$B$2:$B3 の範囲の行数は 2。
$B$2:$B4 の範囲の行数は 3。
という結果となります。
実際に、適当なセルに
=ROWS($B$2:$B2)
を書き込んで下にコピーしてみると分かると思います。
★余談ポイント
数式でわからない部分だけ抜き出して実行してみる。
エラーが出る数式は外側にある関数を除外して残った式で実行してみる。
コレで疑問の解決につながることがあります。
…続き。
はい、これで、下にコピーすると数字が増えていく手段が見つかりましたね。
これををWORKDAY関数の【日数】部分に組み込んで、
=WORKDAY($D$1,ROWS($B$2:$B2),$F$3:$F$23)
という式が完成します。
---------------------------------------------
ちなみに、数字を増加するだけなら、
=ROWS($B$2:$B2)
に限らず
=ROWS($X$16:$X16)
でも同じです。()内の範囲の行数が増えるのは同じですから。
また、営業日一覧が添付していた画像のように2行目から始まるのであれば
=ROW()-1
とするのがシンプルでわかりやすいですね。
[この式が書いてある行]-1
という意味です。ROWS ではなく ROW です。
---------------------------------------------
この回答に添付した画像のように始めから連続した数字の列が用意されていれば、それをWORKDAYの【日数】として参照させ、
=WORKDAY($D$1,A2,$F$3:$F$23)
という式にもできます。
これだと関数が1つだけなので、数式への理解はしやすいかも知れません。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルの設定、下へスクロールすると表のヘッダ項目がシートの列番号の部分に表示される
Excel(エクセル)
-
ExcelのIF関数との組み合わせの相談
Excel(エクセル)
-
エクセルオートサムでセル選択できません
Excel(エクセル)
-
-
4
エクセル 月間シフト表で曜日ごとの休み数をカウントしたい
Excel(エクセル)
-
5
自動的に日付入力 応用
Excel(エクセル)
-
6
Excelで作成した出欠表から日付ごとの欠席者を書き出す方法について教えてください。
Excel(エクセル)
-
7
8:40までの出勤は全て8:30にする関数を教えて下さい!!
Excel(エクセル)
-
8
Excelの罫線を消す方法
Excel(エクセル)
-
9
Excel いい方法教えてください。
Excel(エクセル)
-
10
関数を教えて下さい
Excel(エクセル)
-
11
Excel初心者です、Excelの日付関数を使って A列=生年月日 B列=年齢 C列=シリアル値 で
Excel(エクセル)
-
12
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
13
勤務外時間を出す表が作りたい
Excel(エクセル)
-
14
エクセルについてどう関数を使えばいいか教えてください。
Excel(エクセル)
-
15
Excelの条件付書式について教えてください。
Excel(エクセル)
-
16
複数条件の合計を求める数式を教えてください。
Excel(エクセル)
-
17
至急お願いします!エクセルのフィルターについて
Excel(エクセル)
-
18
年間の医療費のデータがあり、月々の集計をする計算式を教えていただけませんか
Excel(エクセル)
-
19
条件付き書式の効率的な設定の仕方について
Excel(エクセル)
-
20
Excelの計算が合いません。 諸事情で会計の簡素な購入・販売諸元表を作っているのですが、一つの項目
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
エクセルの循環参照、?
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】WEBシステムから保存...
-
【マクロ】A列にある、日付(本...
-
【マクロ】アクティブセルの時...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】別のブックから、フ...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】3行に上から下に並...
-
【エクセル】期限アラートについて
-
【関数】同じ関数なのに、エラ...
-
VBA チェックボックスをオーバ...
-
Excelの新しい空白のブックを開...
-
Excelファイルを開くと私だけVA...
-
マクロ・VBAで、当該ファイルの...
-
Excelについての質問です 並べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報