• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:★関数について教えてください(追加のお願いです))

エクセル関数でB列の名前が複雑な場合にC列を抽出する方法は?

このQ&Aのポイント
  • エクセルの関数を使って、B列の名前が複雑な場合でもC列を抽出する方法を教えてください。
  • 先ほど教えていただいた関数では、B列の名前が単純な場合に限定されていたため、複雑な名前の場合にも対応した方法を知りたいです。
  • シート1のB列の名前が複雑な時でも、シート2のデータからC列を抽出する方法があれば教えてください。

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

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

恐らく実際には,たとえばシート3のA1からA5に「標準データ」として キウイ ばなな オレンジ いちご メロン を用意, 今回ご質問のシート1と2のB列にそれぞれ一列あけて(A列が番号,C列が「キウイA」なり「美味しいキウイ」にして) 例えば B1: =INDEX(Sheet3!$A$1:$A$5,MATCH(1,MMULT(ISNUMBER(FIND(Sheet3!$A$1:$A$5,C1))*1,{1}),0)) などのようにして該当する標準データを採取してくれば,あとは一番最初のご質問のカタチになっていますから最初の式で計算することができます。 #数式の類型で回答しているので,だいぶもってまわった計算式になっています。

riri-maronmaron
質問者

補足

今回も的確なアドバイス、本当にありがとうございます。 本当なら、最初の回答で上手くいく予定だったのですが、 セルによっては、単純に「ばなな」だけではなく、「ばななB」とか「ばなな×黄色」 みたいな箇所があって、そこだけ#N/A表示になってしまいました。 keithinさんの上記のアドバイスどおり、<シート3>に標準データを入れて みようと思ったのですが、実際は、検索用の種類の言葉が3000件ほどあるので、 <シート3>にデータを簡単には作れませんでした。 関数では、限界があるのでしょうか? 本当にアドバイス頂き、ありがとうございます。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

例えば、「ばなな」は何と表示させたらいいのですか?。 VBAはできませんか?。

riri-maronmaron
質問者

お礼

今回は、これ以上の関数は無理そうなので、あきらめます。ご回答ありがとうございました。

riri-maronmaron
質問者

補足

お返事を頂き、ありがとうございます。 問題を見つけながら少しずつ、 関数を修正して考えていますので、VBAでは作成する予定がありません。 ばななA 又は ばななB 時の ★c列の表示ですが、 ********************************************************* <シート1>101のばななA、102のばななBの場合は下記のように表示を したい予定です。 *********************************************************** a列  b列      ★c列 101  ばななA   北海道 201  ばななB   沖縄県 このb列が単純に「ばなな」のみだったら、問題がなかったのですが、 セルによっては、ばななAのように、附属の文字があったため、一部は 抽出ができませんでした。 それで、今回こちらで問い合わせをさせて頂きました。 どうかよろしくお願いいたします。

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

一般にそういうことは不可能です。 例えば「"キ"ウイ」と「"キ"ュウリ」,あるいは「"いち"ご」と「"いち"じく」の区別が付かなくなるからです。 たとえばシート1のAB列それぞれ「左3文字」ずつ切り取れば一意に識別できる(一つ前のご質問の形に帰着できる),とかそういった特殊なルールを設けることができるなら,まだ手の打ちようもあります。 =INDEX(Sheet2!$C$1:C$10,MATCH(2,MMULT(ISNUMBER(FIND(LEFT(A1:B1,3),Sheet2!$A$1:$B$10))*1,{1;1}),0))

riri-maronmaron
質問者

お礼

もう1つ回答があったのを見逃していました。申し訳ございません。 やはり、不可能なんですね。教えていただき、ありがとうございます。

関連するQ&A

専門家に質問してみよう