答えてねっとは、
マイクロソフトが運営する
パソコンに関する
Q&Aサイトです。

質問

改めてIF関数について

製品名:Office製品/Excel/2003

現象:知りたい/機能

この質問は未解決で締め切られています

お世話になります。
質問者からの再質問です。
手を加えていません。

=IF(AND(A5="A",B5>51),IF(C5>51,IF(D5>51,IF(E5>51,IF(F5>51,IF(G5>51,IF(H5>51,IF(I5>51,10,9),8),7),6),5),4),3),"")

上記の関数は、A列が”A"だった時のみB列が、51以上だったら、次のセルC列が、51以上だったらD列……

今の数式でA列からI列まで認識できます。Tセルに”10”まで表示されます。
あと、J列に51以上だったらTセルに”11”、K列が51以上だったら”12”、L列が51以上だったら、”13”、M列が51以上だったら、”14”、N列が51以上だったら、”15”、O列が、51以上だったら、”17”、P列が51以上だったら、”19”、Q列が、51以上だったら、”21”、R列が、51以上だったら、”23”、S列が、51以上だったら、”25”が、表示したい。

宜しくお願いします。

マイクロソフト単語帳

関数セルC 

質問者からのコメント

  • 投稿日時:2007/10/12 13:34

お世話になります。
今日、やっと質問者から電話が有りました。
開口一番に質問に対しての回答が違うと言われました。
皆様の指摘や御意見等も伝えました。
とにかくIF関数の組み合わせの仕方が分からないとも言っておられました。

回答1 (この回答は質問に対する回答です)

  • 投稿ID:A2007309438
  • 投稿日時:2007/10/03 14:11

なんとなく伝言ゲームになりそうな予感がしますので、ご本人様から直接ご質問いただくことは可能でしょうか?

  •  

回答2 (この回答は回答1に対する回答です)

  • 投稿ID:A2007309442
  • 投稿日時:2007/10/03 14:20

私共も何度も直に投稿された方が得策で回答も速く得られると思いますと、説得しましたが
聞き入れて頂けません。

  •  

回答8 (この回答は回答2に対する回答です)

  • 投稿ID:A2007309603
  • 投稿日時:2007/10/03 16:19

そうですか。

当方は第三者経由で伝えられるほどのスキルは持ち合わせておりません。残念です。

  •  

回答9 (この回答は回答2に対する回答です)

  • 投稿ID:A2007309608
  • 投稿日時:2007/10/03 16:21

では、「これ以上は回答者の皆さんに迷惑がかかるので、サポートしかねる」とお伝えください。
「出来ないこと」はきちんと「出来ない」と答えるのが、サポートの義務です。
それを伝えることが出来ないのであれば、「サポート」を名乗るのは止めてください。

  •  

回答3 (この回答は質問に対する回答です)

  • 投稿ID:A2007309448
  • 投稿日時:2007/10/03 14:25

たぶんこれの続き。
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=120451459865

この質問者には何を回答しても無駄ではなかろうかと思われ。

  •  

マイクロソフト単語帳

httpwwwnetDefault 

回答4 (この回答は質問に対する回答です)

  • 投稿ID:A2007309470
  • 投稿日時:2007/10/03 14:42

IF関数について何度も質問されており、今回の質問の解答も以前の質問にあります。

IF関数ではできません。

  •  

マイクロソフト単語帳

関数 

回答5 (この回答は質問に対する回答です)

  • 投稿ID:A2007309520
  • 投稿日時:2007/10/03 15:19

IF関数の中に更にIF関数を入れるような書き方をネストと言います。
Excelの仕様で「関数に設定できるネストレベル」は7までとされています。

メンテナンス面なども考えてVLOOKUP関数などでの対応をご検討ください。

  •  

回答7 (この回答は削除された回答6に対する回答です)

  • 投稿ID:A2007309588
  • 投稿日時:2007/10/03 16:12

お世話になります。

無駄ですと回答頂きましたが、zinpachiさんは回答数式はお分かりですね。
教えて頂きたいものです。

  •  

回答10 (この回答は回答7に対する回答です)

  • 投稿ID:A2007309632
  • 投稿日時:2007/10/03 16:39

前回(10/1)投稿にも、まだまだ回答がつけられているのをご存知ですか?

前回から皆さんがおっしゃられているように、1つのセルの中にあれだけ長い数式を記述することは、
専門家であってもムリだと思います。

>zinpachiさんは回答数式はお分かりですね。
とありますが、ムリなものはムリなんです。。。
IF文じたいが、ネストを7コ以上受付ないのですから…

前回の投稿にマクロでのやり方を記載しています。
私もマクロを投稿させていただきましたが、もっと画期的なマクロを投稿してくださっていますので、
過去の質問をご参照ください。

また、質問者ご本人にもセル1つで解決したいのであれば、マクロで処理するようにお伝えください。

  •  

回答18 (この回答は削除された回答6に対する回答です)

  • 投稿ID:A2007309851
  • 投稿日時:2007/10/03 20:30

前スレで無視されたよ。・゚・(ノ∀`)・゚・。

質問者本人さんに、他のやりかたを拒まれるということですが、
実際に提示して、望みの結果を得られることを証明して差し上げれば
納得いただけるのではないでしょうか?

また、今後セルが増えた場合、手を加えるとまた動かなくなる可能性も
ありますし、その際のメンテナンスが大変で、シニアサポートマンさんは
何度も世話をしなければならなくなり大変ですよ。

ここは一つ、メンテナンスしやすい方法に思い切って変更されるのも
サポートマンとして重要かと思います。

それから、関数以外の案や必要情報は何かと問われ、そこは無視して
答えに見える部分のみに回答されるというのは、失礼ではないですか?
他の方も自分の時間を削ってなんとか解決しようとしていることには
変わりありませんよ。

  •  

回答11 (この回答は質問に対する回答です)

  • 投稿ID:A2007309731
  • 投稿日時:2007/10/03 18:05

どうしてもエクセル関数のみで利用したいなら
IF文を分割して行いましょう。

例)
S列までデータ領域と想定しました。
U5のセル:
=IF(AND(A5="A",B5>51),IF(C5>51,IF(D5>51,IF(E5>51,IF(F5>51,IF(G5>51,IF(H5>51,IF(I5>51,10,9),8),7),6),5),4),3),"")
V5のセル:
=IF(AND(A5="A",J5>51),IF(K5>51,IF(L5>51,IF(M5>51,IF(N5>51,IF(O5>51,IF(P5>51,IF(Q5>51,21,19),17),15),14),13),12),11),"")
W5のセル:
=IF(AND(A5="A",R5>51),IF(S5>51,25,23),21)
X5のセル:
=MAX(U5:W5)

簡単な動作確認しか行っていませんが、最終的にS列が51以上なら、X列に25が表示されます。


素朴な方法ですが、望み通りの結果がえられると思います。

  •  

回答12 (この回答は回答11に対する回答です)

  • 投稿ID:A2007309735
  • 投稿日時:2007/10/03 18:11

お世話になります。

Excel2007では、どうですか。
IF文を続けられないでしょうか。

  •  

回答17 (この回答は回答12に対する回答です)

  • 投稿ID:A2007309766
  • 投稿日時:2007/10/03 18:42

訂正します。

エクセル2007 の 関数のネストレベル は 64
でした。

エクセル2007 を ご購入ください。

  •  

回答13 (この回答は回答11に対する回答です)

  • 投稿ID:A2007309744
  • 投稿日時:2007/10/03 18:15

追記
例えば、下記の数式で

=IF(AND(A5="A",B5>51),IF(C5>51,IF(D5>51,IF(E5>51,IF(F5>51,IF(G5>51,IF(H5>51,IF(I5>51,J5>51,K5>51,L5>51,M5>51,N5>51,O5>51,P5>51,Q5>51,R5>51,S5>51),"",25,23),21),19),17),15),14),13),12),11),10),9),8),7),6),5),4),3),"")

  •  

回答15 (この回答は回答13に対する回答です)

  • 投稿ID:A2007309754
  • 投稿日時:2007/10/03 18:32

シニアサポートマンさん

結論から申しますと、1つのセル内でのIF文では処理できません。

エクセルの仕様で、ネクストレベルは7つまでです。


どうしても ご納得頂けないのでしたら、マイクロソフトのコールセンター
にかけあってみてください。

マイクロソフトよりの回答書があれば、質問者様もご納得いただけるでしょう。

  •  

回答14 (この回答は質問に対する回答です)

  • 投稿ID:A2007309747
  • 投稿日時:2007/10/03 18:22

@@Q2007052408@@ @@Q2007052433@@を放置して、再質問ですか。
@@A2007309002@@の回答23のktnさんの指摘を一切無視という事は、やっぱり回答者をなめているとしか考えられません。

>質問者からの再質問です。
>手を加えていません。
なぜ、嘘をつかれるのですか。
@@A2007309261@@ 回答27にて
>私なりに下記の数式に直してみました。
と書かれてますよね。(実際の数式は回答28でしたが)

あと、いい加減、「以上」なのか「超過」なのかぐらいはっきりして下さい。
他に、条件は且つ(AND)なのか、ELSE(でなければ)なのかが分かりません。
上記が分からないのは数式と、貴方の説明文が食い違っているからです。

  •  

回答16 (この回答は質問に対する回答です)

  • 投稿ID:A2007309757
  • 投稿日時:2007/10/03 18:33

1つのセルにこだわっていらっしゃいますので、
望まれる回答ではないかと思いますが、
私ならこうするというやり方を投稿します。

セルT列だけでなく、U列、V列も利用します。
便宜上、U列に最終の答えが出るようにしております。
(T列、U列については、列の非表示などを利用して隠してください。)

T列{B列からJ列の51”より大きい”で反応する式}
=IF(B5>51,IF(C5>51,IF(D5>51,IF(E5>51,IF(F5>51,IF(G5>51,IF(H5>51,IF(I5>51,IF(J5>51,11,10),9),8),7),6),5),4),3),"")

U列{K列からS列の51”より大きい”で反応する式}
=IF(K5>51,IF(L5>51,IF(M5>51,IF(N5>51,IF(O5>51,IF(P5>51,IF(Q5>51,IF(R5>51,IF(S5>51,25,23),21),19),17),15),14),13),12),"")

V列{A列がAかどうか、またT列、U列から答えをとってくる式}
=IF(AND(A5="A",T5<>""),MAX(T5:U5),"")
※この式については、もっと良い式もあるような気がします。

以上のように3列に式を入れた上で、T、Uを非表示にすれば、たぶんされたい
ことはできると思います。

なお、V列とT列を入れ替えることも可能です。
その場合は式を工夫してください。

では

  •  

マイクロソフト単語帳

セル 

回答19 (この回答は質問に対する回答です)

  • 投稿ID:A2007310055
  • 投稿日時:2007/10/04 00:24

前回回答23をそのままコピーし,それに加えてもうひと言,

---ここから
>Tセルに”10”まで表示されます。

という事ですが,前回回答の数式をTじゃなくUの列のセルに入れて動作を確認してみてください。

---ここまで

と書き添えて元のご相談者さんにお返事さしあげ,その結果を必ず受け取って再投稿してください。

  •  

回答20 (この回答は回答19に対する回答です)

  • 投稿ID:A2007310059
  • 投稿日時:2007/10/04 00:35

あ,間違いました。前回の回答23じゃなく回答7でしたね。失礼しました。

でも前回ご質問の上から下まで全部をそのまま大きな文字で印刷し,ファックス等で送って直に見ていただいた方がもっと適切な方法ですので,是非そうしてください。

  •  

回答22 (この回答は質問に対する回答です)

  • 投稿ID:A2007313422
  • 投稿日時:2007/10/07 18:54

なぜ、これまでの経緯とシニアサポートマンの後ろにいる「はず」の質問者さんへ伝えていただきたいことを書いた21/を削除するのか事務局の行動は理解に苦しみます。

それはさておき、
投稿日時:2007/10/07 15:39
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=80301389246
連絡が取れないと思われてましたが、どうもこの質問も放置のようですね。

それでこの質問を「本当の質問者」さんとやらは回答が得えられない状態でお怒りになられたりはしませんかね?
私であれば、迅速に回答がもらえずに三日もたてば、「こいつには二度と聞かない」となりますが。

もっとも、質問者が実はご自身だったりしたらどうでもいいのかもしれませんが。
ご友人らしいたこピ〜さんも
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=100356155555
以前にエクセルの質問していたようですし。
http://www.kotaete-net.net/Default.aspx?pgid=14&qid=140506113370

  •  

回答28 (この回答は削除された回答23に対する回答です)

  • 投稿ID:A2007314117
  • 投稿日時:2007/10/08 13:21

その
> 目が見えない
人には、きちんとIF関数以外を使えと伝えたのでしょうか?
常識的なレベルでExcelが使える人であれば、VLOOKUPなどの関数の使い方を教えれば簡単に学習できると思います。目が見える見えないに関係なく。

それでもIFにこだわるのであれば、やっていることは「パズル」なので、人に溶かせるような問題ではありません。自分で解くべきです。したがって、いちいち教える必要はありませんし、ここで聞く必要もないでしょう。
それでもなおIFでの解決を望むのであれば、あなたの技量・説得力不足です。とっとと投げ出すことをお勧めします。

繰り返しますが、ほかの関数やマクロを使いましょう。

  •  

回答29 (この回答は質問に対する回答です)

  • 投稿ID:A2007314446
  • 投稿日時:2007/10/08 19:15

画面の文字はなぜ見えないのですか?
画面で文字を大きくすれば見えるのではないでしょうか?

ご存じだとは思いますが、
こちらを参考まで
http://www.pref.shizuoka.jp/a_8341/textsize/index.htmlマイクロソフト以外のサイトへ移動する

そして、本人からの投稿をお待ちいたしております。

  •  

マイクロソフト単語帳

httpwwwindexhtml 

回答31 (この回答は削除された回答30に対する回答です)

  • 投稿ID:A2007314639
  • 投稿日時:2007/10/08 22:02

@@Q2007050938@@
19/ 33/

でも回答しています。他でも。
過去を知らないかどうかはそれこそ検索をかけていただければわかると思いますが・・・

「こんなに長い IF文 を入力できるのだから、パソコンの字が見えないということはないでしょう?」と思ったまでです。

サポートって何から何までしてあげることではないはずです。
できることは自分で・・・。補助が必要ならその部分のみを本人に代わりする。ってことだと思います。ここでは、目が悪いのでその方の目の代わりをすることになると思いますが、パソコンが使えているなら文字を大きく表示するだけでいいのでは?ということです。
シニアサポートマンさんに質問できるなら、ここにも質問できるはずで、手順がわからないなら手順を教えてあげればいいんでは・・・と思う次第です。

  •  

回答32 (この回答は回答31に対する回答です)

  • 投稿ID:A2007314665
  • 投稿日時:2007/10/08 22:40

31/
いえ、ですから、「文字の大きさ」の議論もすでに何十篇とやってるんですよ。
それを過去の検索をして見つけていただきたかったのですが……私の書き方がまずかったですか?

ちなみに、結果は誰が何度質問しても「普通のディスプレイじゃ見難いから代理でしてる」の一辺倒。

#
Googleなどの検索エンジンで「シニアサポートマン」「たこピ〜」で検索することを推奨。

  •  

昨日の利用状況


総投稿数 806 件

回答総数 625 件

登録者数 71 人

利用登録ユーザ 2017 人

ゲスト 21286 人

ページビュー 115970

登録済みFAQ 20 件

■ 推薦サイト
 >マイクロソフト

景品応募サイト

Windows ヘルプと使い方

Microsoft Users

マイクロソフト資格取得アタック キャンペーン