• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:こんな関数ありますか?)

Excel関数で特定の文字列を参照し、結果を表示する方法

このQ&Aのポイント
  • Excelの関数を使って、特定の文字列を参照し、結果を表示する方法について教えてください。
  • Excelのセル内の文字列を条件として、他のセルの値を参照する方法について教えてください。
  • ExcelのSUMPRODUCT・COUNTIF・IF・ROW・INDEX関数を組み合わせて特定の文字列を参照し、結果を表示する方法について教えてください。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

=MIN(10^ISERROR(FIND($B$1:$B$6,A1))*($C$1:$C$6),999) と入力してCtrl+Shift+Enterで配列数式にしてください。

tamako1111
質問者

お礼

できました~(泣) ありがとうございました(泣) これで仕事が進みます♪

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

余りスマートでないのですが次の方法は如何でしょうか。 D1セルに=IF(SUMPRODUCT((RIGHT(A1,(LEN($B$1:$B$870)))=$B$1:$B$870)*(ROW($B$1:$B$870)))>0,INDEX($C$1:$C$870,SUMPRODUCT((RIGHT(A1,LEN($B$1:$B$870))=$B$1:$B$870)*(ROW($B$1:$B$870)))),999)を設定、D1セル枠の右下の■をダブルクリックして下さい。

tamako1111
質問者

お礼

ありがとうございます。 No4さんのものでできました。

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.3

■D1セル =IF(SUMPRODUCT(COUNTIF(A1,"*"&B$1:B$870&"*")),INDEX(C$1:C$870,MAX(INDEX(COUNTIF(A1,"*"&B$1:B$870&"*")*(ROW(B$1:B$870)),0))),999) A列は検索用ならそれほどデータは多くないということですよね。 あまり多く入力すると処理が重くなります(それでなくても重いですが・・) B列に重複する文字列はありませんか? たとえば川越市と南川越市のように。 そういうのがあると正しい結果が返らない可能性があります。 その場合、B列の入力順は川越市→南川越市のように文字数の少ない方を上の行にしておけばいいかもしれません。 B列が何行目から始まっていても、ROW(B$1:B$870) はそのままにしておいてください。

tamako1111
質問者

お礼

ありがとうございます。 やってみましたがエラーが出てしまいました。 No4さんのもので解決できました。

noname#37676
noname#37676
回答No.2

D1セルに =IF(ISERROR(VLOOKUP(A2,$B$2:$C$870,2,FALSE)),999,VLOOKUP(A2,$B$2:$C$870,2,FALSE)) D列にフィルコピーでは??

tamako1111
質問者

お礼

ありがとうございます。やってみましたが、この方法だと、完全一致の際は正しく表示されるのですが、部分一致、例えば秩父郡横瀬町と書いてある中から横瀬町を検索して361と表示させるところが999になってしまいます。 もし原因がお分かりでしたら再度ご助言お願いします。

noname#25358
noname#25358
回答No.1

 補足お願いします。 1.A列にはA1、A2、A3にそれぞれ別々の文字列が入っているようですが、検索対象となるのはあくまで「A1」ということでいいのでしょうか?  だとすると、A2以降のセルは使用しないということになりますが。 2.上記の例ではD1に203とありますが、C1は201です。  これらの数字の間にはなぜ相関関係がないのでしょうか。

tamako1111
質問者

お礼

すみません、説明がわかりにくかったですよね。 補足しましたのでお手数ですがお願いします。

tamako1111
質問者

補足

1.A1の文字列の一部又は全部がB1~870の中に含まれているか検索したいのです。従って、D1に表示させるのはA1を検索した結果です。D1に表示させるときはA2以下のA列は使用しません。また、D2以降、関数をコピーしてA2、A3・・・の検索結果も出していきます。 2.A1に川田市とありますので、B列から川田市がないか検索します。するとB3にありますので、その行のC列、つまりC3の203をD1に表示させたいです。従って、A2は秩父郡横瀬町なので、B列から検索して秩父郡横瀬町の一部、横瀬町が入っているB4のC列、つまり361をD2に表示させる。という感じにしたいです。

関連するQ&A