• ベストアンサー

この関数の意味を教えて下さい。

31歳の男です。 関数についてはド素人ですが、下記の関数について調べています。 お知恵を貸して頂けないでしょうか? (シート1) 下記のように条件をどんどんリストから選択して行き、結果を出すシート (シート2) 元データが入っているDBみたいなモノ        (条件) ・セルE6→申告元は?(例 NOC) ・セルE7→場所は?(例 NOC) ・セルE8→何によって検知した?(例 運用管理端末) ・セルE9→発生箇所は?(例 サーバ) ・セルE10→何が起きている?(例 警告メッセージ) ・セルE11→条件は【その1】?(故障部位又はリソース) (例 ネットワーク機器) ・セルE12→条件は【その2】?(障害状況と処理)(例 事象が復旧している)  (結果) ・セルE16→影響は? (例 運用への影響はなし) ・セルE17→即応措置の要否は? (例 継続調査)  (条件式) ・セルG6→=IF(E6="NOC","NOC_申告元",E6) ・セルG7→=IF(E7="NOC","NOC_場所",E7) ・セルG9→=IF(OR(E9="サーバ",E9="NW機器",E9="その他"),CONCATENATE(E9,"_発生箇所"),E9) ・セルG10→=IF(E10="その他","その他_故障内容",E10 ) ・セルG11→=IF(OR(E11="サーバ",E11="NW機器",E11="その他"),CONCATENATE(E11,"_故障部位"),E11) ・セルG12→=E12  (結果式) ・セルE16→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,2,0)) ・セルE17→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,3,0)) (質問) ・この条件式と結果式の意味(訳)を教えてもらえないでしょうか?  例  一行目→もしE6の値が"NOC"の場合は"NOC_申告元"を返す???   すいません、意味が分かっておりません。 ・条件次第では、結果が「False」や「#N/A」と出てしまいます。  この場合、エラー値を表示しないようにするにはどうしたら良いでしょうか?      以上、宜しくお願いします。    

質問者が選んだベストアンサー

  • ベストアンサー
  • pusai
  • ベストアンサー率38% (451/1161)
回答No.5

> ・セルE16→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,2,0)) > →~118,2,0の[2,0]ってどうゆう意味なんでしょうか? [2]は[B91~D118]の範囲の中の2列目、つまりC列の値を返す指示。[3]なら3列目のD列。 [0]は[False]の代わりで、検索の型が「完全に一致」を示し、検索値(G12)と完全に一致するセルを検索する指示。

tatuya24_2006
質問者

お礼

ありがとうございました。 理解することができました。 感謝致します。

その他の回答 (4)

  • pusai
  • ベストアンサー率38% (451/1161)
回答No.4

> ・セルE16→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,2,0)) もしG12の値が0の場合は""を返す。 そうでなければ、リストsheetのB91~D118の範囲の中の左の列(B列)からG12と一致する(最後の0=Falseで指定してます)セルを検索し、そのセルと同じ行の2列目(C列)の値を返す。 左の列(B列)にG12と一致するセルがなければ「#N/A」を返す。 > ・セルE17→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,3,0)) 式の意味は上と同様 > 関数についてはド素人 ド素人なら「~~を返す」などという日常会話で使わないような表現はしません。 この表現が自然に出てくる段階ですでにド素人は卒業しているかと思います。 他の方も書いていますが、そろそろ解説書やヘルプなどを参考に知らない関数を開拓してくことを始めても良いころではないでしょうか 解説書やヘルプなどを見てもチンプンカンプンなら、とりあえず適当なデータを作って試してみる。 エラーが出たら式をいじってまた試してみる。 何度も試行錯誤を繰り返していくうちに、だんだん法則性が見えてくるでしょう。 ちなみにIF関数、OR関数、CONCATENATE関数、VLOOKUP関数のうち、ここ10年の間に私が使う機会があった関数はIF関数のみ。 この回答も、ヘルプを見て適当にちょこっと試して書いていたりします。 法則性が見えてくれば、使ったことのない関数でもヘルプを見ればどうにかなるようになります。 がんばってください。

tatuya24_2006
質問者

補足

回答ありがとうございました。 リストを修正したところ期待通りの結果が出ました。 ところで自分は数字の意味がとても苦手です。 ・セルE16→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,2,0)) →~118,2,0の[2,0]ってどうゆう意味なんでしょうか? ・セルE17→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,3,0)) →~118,3,0の[3,0]ってどうゆう意味なんでしょうか? すみませんが、教えてください。

回答No.3

E16とE17は、単純に「list」シートのB91:D118に書かれた表を検索 して、G12に一致する行のC列とD列の値を持ってきているだけです。 G12は単にE12に入力した内容をコピーしているだけなので、これが マトモに動くなら、E6からE11までの入力でE12に入力可能なリスト を制御していることになります。セルの関数をどんなに眺めても、 このブックが何をしているのかは判んないですよ。山盛りあるはず の名前の定義と、入力規則を照合してみないとね。 で、E12をリストから選択しているのに#N/Aエラーが出るのなら、入 力規則のリストや結果表示のリストのメンテナンス不良。

tatuya24_2006
質問者

お礼

回答ありがとうございました。 何とかリストの方をメンテナンスした所 期待通りの結果がでました。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

ちょっと毛色の変わった質問で、1つ1つ考えていくのが面倒な質問の書き方になっている。 有名なVLOOKUP関数の応用問題ではないか? WEBでこのVLOOKUP関数を照会したら> ーー >元データが入っているDBみたいなモノ は小数実例でも挙げないとイメージが湧かない。 ーー 最終G12でVLOOLUPで表を検索している。 そこにいたるまでに、色々条件が欠けられている。 IF関数(場合分け) OR関数(どちらか一方が真の時) CONCATENATE関数(文字列の結合。&と同じ) VLOOKUP関数 しか使われていない。これらはエクセルを使い出したらすぐ必要な、常識的な関数です。 解説書を開くか、WEBで「エクセル OR関数」などで照会すること。実例などもかならず挙げて説明がある。 そんなこともしてないのでは。

tatuya24_2006
質問者

お礼

回答ありがとうございます。 とりあえず解説書は目を通したのですが イマイチ分かりませんでした。 (式のつながりが...。) 甘えた質問かもしれませんが、自分には難しくて分かりませんでしたので質問させて頂きました。

  • pusai
  • ベストアンサー率38% (451/1161)
回答No.1

> ・セルG6→=IF(E6="NOC","NOC_申告元",E6) もしE6の値が"NOC"の場合は"NOC_申告元"を返し、そうでなければE6を返す > ・セルG7→=IF(E7="NOC","NOC_場所",E7) > ・セルG10→=IF(E10="その他","その他_故障内容",E10 ) 式の意味は上と同様 > ・セルG9→=IF(OR(E9="サーバ",E9="NW機器",E9="その他"),CONCATENATE(E9,"_発生箇所"),E9) もしE9の値が"サーバ"、"NW機器"、"その他"でいづれかの場合、"【E9の値】_発生箇所"を返し、そうでなければE9を返す (例:E9の値が"サーバ"なら"サーバ_発生箇所"を返す) > ・セルG11→=IF(OR(E11="サーバ",E11="NW機器",E11="その他"),CONCATENATE(E11,"_故障部位"),E11) 式の意味は上と同様 > ・セルG12→=E12 G12にE12を返す

tatuya24_2006
質問者

補足

回答ありがとうございます。 非常に分かりやすいです。 こちらも解説、お願いできないでしょうか? ・セルE16→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,2,0)) ・セルE17→=IF(G12=0,"",VLOOKUP(G12,リスト!$B$91:$D$118,3,0)) 宜しくお願いします。

関連するQ&A