dポイントプレゼントキャンペーン実施中!

祝日を自動取得するためにセル「M1」に
=IFERROR(DATEVALUE(WEBSERVICE("http://api.excelapi.org/datetime/holiday-list?ye …
セル「S1」に
=WEBSERVICE("http://api.excelapi.org/datetime/holiday?date="& …
の数式を設定しております
又、セル「T1」には「=YEAR(TODAY())」を設定しております。
最近になって
{M1」には「0」と表示され、「S1」には「#VALUE!」と表示されてしまいます。
エクセル上の設定の問題でしょうか、又、パソコン上の問題でしょうか。
解決方法を教えてください。
宜しくお願い致します。

質問者からの補足コメント

  • うーん・・・

    解凍ありがとうございます。
    記者に教えていただいたコードを設定しましtが
    ERROR: アクセス制限中です。1日お待ちください。
    と表示がでております。
    解決方法を教えてください。
    宜しくお願い致します。

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/05/30 12:41

A 回答 (6件)

No.5です。


③の数式は

=INDEX(IFERROR(TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv),",",CHAR(10),1)*1,""),0,1)

で足りることに気づきました。
お詫びして修正いたします。

また、今日の属する年とその翌年の祝日(つまり2年分)を一度に表示するなら、

=INDEX(VSTACK(IFERROR(TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv"),",",CHAR(10),1)*1,""),IFERROR(TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())+1&".csv"),",",CHAR(10),1)*1,"")),0,1)

とすればよいのではないかと思います。
    • good
    • 0
この回答へのお礼

沢山教えて頂きありがとうございました♪

お礼日時:2024/06/01 16:50

No.4です。


大変失礼しました。URLをそのまま投稿するとリンクに自動変換されて、正しく表示されないようです。h ttpsの部分をhttpsに読み替えて、ご使用ください。

①の数式は
=IFERROR(TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv"),",",CHAR(10),1)*1,TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv"),",",CHAR(10),1))

③の数式は
=INDEX(IFERROR(TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv"),",",CHAR(10),1)*1,TEXTSPLIT(WEBSERVICE("h ttps://shukujitsu.net/downloads/"&YEAR(TODAY())&".csv"),",",CHAR(10),1)),0,1)

です。
    • good
    • 0

指定年の祝日一覧を取得するだけなら、祝日情報を提供しているサイトはいろいろあるので、EXCELAPIに頼らなくてもよいのではないかと思います。


例えばEXCELのバージョンが365であれば、A1セルに

=IFERROR(TEXTSPLIT(WEBSERVICE("https://shukujitsu.net/downloads/"&YEAR(TODAY()) …・・・①
※A列のセルの表示形式は「yyyy/m/d」とする

という数式を入れてみてください。
A列に今年の祝日一覧、B列に実際の曜日、C列に祝日の内容が表示されると思います。
これでA列をWORKDAY関数などの祝日引数とすることができるので、指定日が営業日であるか判定するのに

=WORKDAY(指定日-1,1,$A:$A)=指定日・・・➁

などとして、TRUEなら営業日、FALSEなら休業日と判定することができます。

祝日の日付一覧のみあればよく、実際の曜日や祝日の内容は不要というケースではA1セルに

=INDEX(IFERROR(TEXTSPLIT(WEBSERVICE("https://shukujitsu.net/downloads/"&YEAR(TODAY()) …・・・③
※A列のセルの表示形式は「yyyy/m/d」とする

のようにすればよいのではないかと思います。
バージョンが365でない場合、数式が複雑になります。
他の回答者さんが回答に委ねることにします。
    • good
    • 0

補足の内容は、こちらにある状況ですね。


https://excelapi.org/about-us/
無料で使用できることに制限があるためみたいです。
アクセス制限が解除されるまで待つしかないようです。
    • good
    • 0
この回答へのお礼

そうなんですね。
理解出来ました。
ありがとうございます。

お礼日時:2024/05/30 13:05

httpをhttpsに修正して、紹介されている式に直す必要があります。


(リンクしないようにh ttpsと半角スペースを入れていますので注意)
「”」←これが「%22」へとエンコードされてしまいますので、質問として
記載するときにも注意してください

祝日の一覧を取得
=WEBSERVICE("h ttps://api.excelapi.org/datetime/holiday?date="&A2)
祝日の名称を取得
=IFERROR(DATEVALUE(WEBSERVICE("h ttps://api.excelapi.org/datetime/holiday-list?year="&B$1&"&line="&$A2)),0)

セルの参照先を新たに修正して、正しく取得できるか確認を。
この回答への補足あり
    • good
    • 0

こんにちは



ご提示の関数は、ウエブサービスを利用しているので、当然ながらインターネット接続環境でなければ動作しません。
また、ご提示のままであるなら、URLのクエリ部は間違っていると思われます。
https://excelapi.org/docs/datetime/holiday-list/

ですので、何も変更していないのなら、
>最近になって~~~と表示されてしまいます。
となるようなことは考えられません。
変更したのなら、その際におかしくしたのでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
確認してみます。

お礼日時:2024/05/30 12:15

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A