• ベストアンサー

エクセル関数について

エクセルの関数式についてです。 ネットでもいろいろ検索してみたのですが、どうしても解決できません。 どなたかお分かりになる方、教えてください。 たとえば。。 [A1]のセルに、"(1)という文字列が含まれる場合は、[B11]のセルのコピーを、 "(2)"という文字列が含まれる場合は、[B12]のセルのコピーを、 "(3)"という文字列が含まれる場合は、[B13]のセルのコピーを表示させたいのです。 ちなみに、[B11],[B12],[B13]のセルには、SUM関数式が入っています。

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

  • ベストアンサー
回答No.1

=IF(COUNTIF(A1,"*(1)*"),B11,IF(COUNTIF(A1,"*(2)*"),B12,IF(COUNTIF(A1,"*(3)*"),B13,""))) こうでしょうか。 COUNTIF(A1,"*(1)*")は、A1に(1)を含むか見ています。 IF文はIF(式,"合ってた場合実行","合ってなかった場合に実行")です。 最初の部分で、A1に(1)が含まれているか見て、 合っていたらB11を表示、違ったらIF文で(2)があるか判断、 合っていたらB12・・・・ などという流れです。 確認はしていませんが、たぶんあっているかと・・・

chaparin8010
質問者

お礼

satoron666さん ご親切なご回答ありがとうございます。 とても参考になりました!! これで今後の仕事がとても楽になります(^O^) ご説明までいただいてありがとうございました!

その他の回答 (2)

回答No.3

=index(b11:b13,substitute(substitute(a1,"""(",),")""",)) =offset(b10,substitute(substitute(a1,"""(",),")""",),0) =indirect("b"&10+substitute(substitute(a1,"""(",),")""",)) など。 質問文は「"(1)」ではなくて「"(1)"」であると解釈。なおご質問では参照するだけでそれを他の計算に利用することは含まれていないため、B11:B13 のセル範囲に記入されている数式の内容は、無関係。

chaparin8010
質問者

お礼

MarcoRossiItalyさん とてもご親切な回答ありがとうございます。 正直、ご提案いただいた回答がハイレベルすぎて、すぐに理解できませんが、次回の参考にメモさせていただきます! ご親切なご対応ありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 説明がされていない不明な点があります。  [A1]のセルに、 "(1)"という文字列と"(2)"という文字列が両方とも含まれている場合や、 "(2)"という文字列と"(3)"という文字列が両方とも含まれている場合、 それに"(1)"、"(2)"、"(3)"の全てが含まれている場合には、 それぞれ、どの様な表示とすれば良いのでしょうか?  もしかしますと、例えば"(1)"という文字列と"(2)"という文字列が両方とも含まれている場合には、[B11]に入力されている数値と[B12]に入力されている数値を合計した数値を表視させる、等という具合にすれば良いのでしょうか?  もしそうであるのならば、次の様な関数にされると良いと思います。 =IF(OR(ISNUMBER(FIND("(1)",A1)),ISNUMBER(FIND("(2)",A1)),ISNUMBER(FIND("(3)",A1))),ISNUMBER(FIND("(1)",A1))*B$11+ISNUMBER(FIND("(2)",A1))*B$12+ISNUMBER(FIND("(3)",A1))*B$13,"")

chaparin8010
質問者

お礼

kagakusukiさん とてもご親切な回答ありがとうございます。 私の説明不足で失礼しました。 今回は、[A1]には、いずれかの文字列しか入らないケースでした。 正直、ご提案いただいた回答がハイレベルすぎて、すぐに理解できませんが、次回の参考にメモさせていただきます! ご親切なご対応ありがとうございました。

関連するQ&A