[[20260626080741]] 『IF関数のエラーについて』(どろんず) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『IF関数のエラーについて』(どろんず)

IF関数のエラーについて、不明ななのでご教示をお願いします。

?@1つの条件だとエラーは出ない。
IF(C4="あああ",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512))
ですと、日付が出ます。
※C4には複数の項目を選択するようになっていて、「あああ」を選択すると
特定の日付が出るようになっています。

?A複数の条件を入れると♯VALUEの表示がされる。
IF(C4="あああ",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512)),IF(C4="いいい(あ)",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512))・・・等複数の条件を
入れるとエラーが出ます。

同じ構成になっているのですが、なぜエラーが出るのでしょうか。
原因がわからず困っています。
お手数をおかけしますが、ご教示方よろしくお願いします。

?Bセルに直接関数を入れていますが、上記内容をマクロで表現する事は
可能でしょうか。可能でしたらコードを参考までにいただけると助かります。

以上、お手数をおかけしますが、よろしくお願いします。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


詳細が把握できないので、この式の誤りです。

IF(C4="あああ",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512)),IF(C4="いいい(あ)",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512))

IF(C4="あああ",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512),IF(C4="いいい(あ)",WORKDAY($C$25,11,祝日一覧!$B$2:$B$512)))

「)」の位置がおかしいのでは?
(メジロ) 2026/06/26(金) 08:36:54


まず、最初の式も不十分です。IF文は下記構成で現在はFALSEの時に返す値が入っていません
 IF(論理式, trueの場合, falseの場合)

複数の条件にするなら下記のような組み合わせにしてください(ここがメジロさんも言っている括弧の位置がおかしいところ)

 IF(論理式, trueの場合, IF(論理式, trueの場合, falseの場合))

あとExcel365なので、複数条件ならIFSを使ったらどうでしょうか。

 IFS(論理式1,trueの場合, 論理式2,trueの場合, 論理式3,trueの場合, ・・・ , true,どれにも当てはまらない時に返す値)

(abec) 2026/06/26(金) 09:50:49


目白様、ありがとうございます。
確認してみます。
(どろんず) 2026/06/26(金) 09:54:54

abec様、ありがとうございます。
関数の最後に,""を入れたりするものでしょうか。

一番最後の内容はわからなかったです。
(どろんず) 2026/06/26(金) 11:47:37


この関数とも関係するのですが、以下の条件に合致する日を表示させる
関数が思いつきません。

・特定のセルに表示される日(例えばC25)の翌日から15日後の日、その日が
 土日、祝日であればその翌営業日

この関数がどうしてもうまくいきません。
お手数ですが、ご教示いただければ助かります。
(どろんず) 2026/06/26(金) 11:51:36


 本来どのようなIF関数を書くべきかが不明であれば、そこからネット上などで確認して下さい。

 ■ネスト(入れ子とも言います)で複数のIF関数を組み合わせる方法
 > ネストされたIF関数は、複数の条件を評価する際に非常に有用です。
 > ネストとは、IF関数の中にさらにIF関数を入れ子にすることです。
 > 例えば、成績を「優」「良」「可」「不可」で評価する場合、次のようにネストされたIF関数を使用できます。
 > 
 > =IF(A1>=80,"優",IF(A1>=70,"良",IF(A1>=60,"可","不可")))
 > 
 > まず最初のIF関数が、指定したセルA1の値が80以上かどうかを確認し、条件が満たされていれば、「優」という文字を表示します。
 > 次に、条件が成立しない場合、次のIF関数が指定セルA1の値が70以上であるかを確認します。条件が合致すれば、「良」という文字を返します。
 > さらに、条件が満たされない場合、次のIF関数がA1の値が60以上かどうかを確認します。条件が満たされていれば、「可」というテキストを返します。
 > 最後に、いずれの条件も合致しない場合、「不可」という文字を返します。
 > このようにネストを用いた使い方をすることで、複数の条件を順次チェックし、各セルに対応する結果を表示することが可能です。   

 (以下から引用しました。
https://www.pc4353.net/column/data-analysis-if/#if%e9%96%a2%e6%95%b0%e3%81%ae%e8%a4%87%e6%95%b0%e6%9d%a1%e4%bb%b6%e6%8c%87%e5%ae%9a%ef%bd%9cand%e3%83%bbor%e3%83%bb%e3%83%8d%e3%82%b9%e3%83%88%e3%81%ae%e6%b4%bb%e7%94%a8%e6%96%b9%e6%b3%95

 ■IFS関数
https://dekiru.net/article/14285/
 を参照してください。

 =IFS(A1>=80,"優",A1>=70,"良",A1>=60,"可",TRUE,"不可")
 のように書けます。便利です。

 =================
 これだけだと何なので、Tipsを少し追加しておきます。
 この質問には直接影響しない話ですので、質問者さんはスキップいただいて結構です。

 =IFS(A1>=80,重い評価式1,A1>=70,重い評価式2,A1>=60,重い評価式3,TRUE,重い評価式4)
 という時間を要しそうな長い式による評価式がそれぞれあったとします。

 A1>=80 が真のとき、"重い評価式1"が実行されて、それ以下は実行されないと思いがちですが、
 実は、IFS関数はすべての場合の条件と評価式を予め実行することが確認できます。
 (それぞれの要素の条件式が評価されるとともに、
   重い評価式1、重い評価式2、重い評価式3,重い評価式4 がいったんすべて評価されます。
   これはその部分にユーザー定義関数を置いて、それらのUDFが計算されることでも確認できます)

 一方、ネストした式、
 =IF(A1>=80,重い評価式1,IF(A1>=70,重い評価式2,IF(A1>=60,重い評価式3,重い評価式4)))
 の場合は、A1>=80が成立すると、重い評価式1は評価し、結果を返し、
 A1>70以下の条件や評価式が評価されることはありません。
 こうした評価方法を"短絡評価"と呼びます。

 このように場合によっては、従来のIF関数のほうが速度的に有利な場合もありうるので注意が必要です。

(xyz) 2026/06/26(金) 12:43:30


xyz様、ありがとうございます。

今教えていただきたかったのは、
特定のセルに表示される日(例えばC25)の翌日から15日後の日、その日が土日、
祝日であればその翌営業日になる関数です。

いろいろ記載いただいて嬉しいのですが、知りたい情報ととリンクしているのか
イマイチわからないです。申し訳ないです。

WORKDAY関数等をいろいろ試してみたのですが、上記がどうしてもわからなく
て質問させていただきました。
よろしくお願いします。
(どろんず) 2026/06/26(金) 12:55:48


 あなたの直近の質問は見ていませんでした。
 それ以前のところで理解ができていないと思いますので、
 それには役立つコメントだと思います。そこは無視なんでしょうか?

 他の回答者さんの回答を待ってください。 
(xyz) 2026/06/26(金) 13:08:06


 >今教えていただきたかったのは、 
 >特定のセルに表示される日(例えばC25)の翌日から15日後の日、その日が土日、 
 >祝日であればその翌営業日になる関数です。 

 =WORKDAY(C25+15,1,祝日一覧!$B$2:$B$512)
 
(出羽) 2026/06/26(金) 14:13:16

 出羽さんに指摘されて、私の勘違いに気づきました。
 私のここのレスは自己削除します。 

 出羽さん ご指摘ありがとうございました。m(__)m


 >C25セルの「単純14日後」の翌営業日を求めればいい

 「翌日から15日後」ということは、C25の「16日後」ですよね?
 
(出羽) 2026/06/26(金) 14:39:06

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.