• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel、リンク元に指定文字列の存在を調べたい)

Excelの管理表作成における関数式とエラーの解決方法

このQ&Aのポイント
  • Excelの管理表作成において、特定の条件に基づいてリンク元に指定文字列の存在を調べる必要があります。
  • COUNTIF関数を使用して、指定文字列が存在するかどうかを確認する方法を試みましたが、混在する関数には適さないことがわかりました。
  • 指定文字列の存在を確認するための他の関数はありますか?また、未入力の場合に「#N/A」ではなく「未入力」と表示する方法はありますか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

参考にExcel2007以降では,新しい関数を使い =IFERROR(VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力") のようにすっきり計算することが出来ます。 さて2003までのエクセルでは,ご相談の状況が発生します。 参考: http://support.microsoft.com/kb/260415/ja 上述URLにCOUNTIFやSUMIFの代わりに使える数式の作成例がありますが,今回ご相談の用途ではもうちょっと別の関数を使い 作成例1 =IF(ISERROR(VLOOKUP(今のまま)),"未入力",VLOOKUP(今のまま)) 作成例2 =IF(ISERROR(MATCH(A3&"営業",\○○○\△△△\[XXXXX]sheet1!$A$2:$A$20,0)),"未入力",VLOOKUP(今のまま)) のようなやり口も考えられます。

noname#138471
質問者

お礼

2003以前と2007以降とで、COUNTIF関数に違いがあるとは知りませんでした。 そして、「作成例1」を採用いたしました。 誠にありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

COUNTIF関数を使うことに間違いはないでしょう。ただなぜA3&B3ではなくA3&"営業"にしているのでしょう。正しくは次のような式にすることでしょう。 =IF(COUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&B3)>0 ,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力")

noname#138471
質問者

補足

お尋ねの点につき、お答えします。 > ただなぜA3&B3ではなくA3&"営業"にしているのでしょう。 よくよく質問を見直しますと、私が作ろうとしたもともとの関数式は、  =IF(COUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 ,VLOOKUP(A3&"営業",\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力") でした。それを、 (1)COUNTIF関数内でエラーが起きていた (2)しかもそのエラーは、「A3」のほうであり、「"営業"」のほうではなかった というところが強烈に記憶に残っていましたため、COUNTIF関数内でのみ「A3&"営業"」としていたものだと記憶違いを起こしてしまったからです。 > 正しくは次のような式にすることでしょう。 あなたは、A3&B3にしていないのが最大の間違いだとお思いなのですか。 今回私はExcel2003を使っている中で困って、このたびの質問を投稿したのです。 なのにあなたは、Excel2007以降でなければ使えない関数式を正しいものとして示されました。 前提が狂ってしまいますと答えまで狂ってしまいますよ。 > 正しくは・・・ あなたは、「正しい」の意味を知っていますか? あれも正しい、これも正しい、・・・。こんな場合、「正しい」とは言いません。「1つの考え」というのです。「正」という字は「一」に「止まる」と書きます。字の成り立ちからして、正しいものは1つしかなく、2つも3つも正しいなんてありえないのです。 あなたが示した関数式は、たった1つしかない正しい関数式ですか。最初に回答を下さった方はCOUNTIF関数を使えない場合の対処法だけでなく、自ら2つの例をも示されました。 知識人は、良い意味でも悪い意味でも、「世の中に正しいものなどない」、「それも1つの考え」と考えるのが常識です。「正しい」という言葉をもっと慎重に使うことをお勧めします。