🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

3回答

3055閲覧

EXCEL 2010でIF関数への条件追加

SYO_chan

総合スコア12

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2019/10/25 04:15

EXCEL 2010で、
現在、S27セルに以下の関数が入っています。

=+IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0))

この関数に、

C27=休 かつ E27=内勤で、R27>O27の場合、O27を参照する。
※それ以外の場合は、S27に入っている元の関数の通りに参照したい

の条件を追加しようとして、

=+IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0), IF(AND(C27="休",E27="内勤",R27>O27),O27,"規定値外"))

としたのですが、

”この関数に対して、多すぎる引数が入力されています。”

となってしまいます。

正しい関数の記述をご教示いただけますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

追加したい条件を最初に書いて、ELSE側で従来の処理をすればいいだけでは。

Excel

1=+IF(AND(C27="休", E27="内勤", R27>O27), O27, IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0)))

.

投稿2019/10/25 04:30

編集2019/10/25 04:31
ttyp03

総合スコア17000

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SYO_chan

2019/10/25 05:14

なるほど、納得しました! ありがとうございました。
guest

0

こういう感じでいかがでしょうか?

Excel

1=+IF(C27="休",IF(AND(E27="内勤",R27>O27),O27,R27),IF(R27>$S$2,R27-$S$2,0)) 2

ご質問にある元の関数の記述だと、

IF(AND(C27="休",E27="内勤",R27>O27),O27,"規定値外")

の部分がIF関数の4つめの引数になってしまっているので、エラーになります。

投稿2019/10/25 04:29

sizka_rn

総合スコア127

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SYO_chan

2019/10/25 05:22

エラーの原因がわかりました。 ありがとうございます。
guest

0

エディタでその問題ありの関数を分割してみてください。こうなっておりIF関数の引数が4つ存在することになります。

IF( C27="休", R27, IF( R27>$S$2, R27-$S$2, 0 ), IF(AND(C27="休",E27="内勤",R27>O27),O27,"規定値外") //4つ目の引数!? )

解決のためには、AND条件を先頭に持ってきて、そこで正否判定に従って展開させていきます。Excelは一行なので分かりづらいと思うので、複雑になるならエディタで書いてみて、あとでExcelに貼り付けるとわかりやすいと思います(改行は無視されるので、そのまま適用できます)。

   IF(AND(C27="休",E27="内勤",R27>O27)), //1-1    O27, //1-2 IF( //1-3 C27="休", //2-1 R27, //2-2 IF( //2-3      R27>$S$2, //3-1      R27-$S$2, //3-2      0 //3-3 )    )

これをExcel用に板書した場合、こうなります。

EXCEL

1IF(AND(C27="休",E27="内勤",R27>O27)),O27,IF(C27="休",R27,IF(R27>$S$2,R27-$S$2,0))

投稿2019/10/25 04:22

編集2019/10/25 05:07
FKM

総合スコア3647

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2019/10/25 04:25

C27="休"の条件が最初にあると、AND(C27="休",E27="内勤)にたどり着かないのでは?
FKM

2019/10/25 04:27

ですね、ちょっと見直してみます。でもまあ、直接の原因は引数が4つ存在していることです。
SYO_chan

2019/10/25 05:25

なるほど、エディタで分割するとわかりやすいですね。 エディタで分割する方法、使わせていただきます。 便利な方法を教えてくださり、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問