- ベストアンサー
エクセルで範囲指定から文字を抽出する方法
- エクセルで特定の範囲を指定して文字を抽出する方法についてお教えください。
- B4セルに表示されている鉄や板の文字の一部を取り出して、基準文字と合わせて表示したいです。
- 具体的には、B4セルに鉄や板の文字が表示されている場合、その文字と基準文字(E4~E11の範囲内で表示される鉄や板)を組み合わせて表示したいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
最初にバージョンを書かないと適切な回答は得られません。 =TEXTBEFORE(E4:E11&"(","(")
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
小生の、下記の文章も、経験の差で、わかりすらいかもしれない。その場合はスルーしてください。 ーー どういう理由で、この質問で何がしたいか判りづらい。 画像を見ると、入力規則(多分その中のリストの機能)という語句が出る。 >B4に表示したい 入力規則のリストの設定に使いたいのか?これに使うなら下記の注意が必要。 と言うのには、1セルの問題で良いのか? ーー 関数はセルの値を問題にするものです。(初心者では、この大切さを認識していないものが多い、ようだ) セルの値は、どんな方法で入力されようと、その来歴を問題にすることは、エクセルでは、ほとんどない。だから質問に書く必要がない。ひょっとして、「入力規則」のリストの作成で、 セルの値を元に、リストの値を「半角カッコ以降を消して」+「ベース」と表示させたいなら そういう別のセル範囲に一旦作らないといけないように思う。 言っていることは、例として、 B1:B4 元の値 aaab bbbc cccd にあるとして、入力規則のリストで、先頭の3文字だけを出したいときは、 元の値を =LEFT(B2:B4) としてみたが、エラーになる。 C2に式 =LEFT(B2,3) と入れて、下方向に式複写。 元の値に =$C$2:$C$4 とするとうまく行く。 元の値の指定のところで、関数式を(被せて)使えない。 ーー もしそうだったら、質問は1例(1セル分)を挙げるだけで、後のセルのことは推測できるだろう。 == また、 最近では、エクセル2016以後、365などのバージョンが出て、関数(それも大切な関数)の数やその考え方に大変化が起こっている。 だからしばらくは、エクセルのバージョンを書いて質問しないと、回答の無駄や、せかっくの良い関数での回答を使えないことが起る。注意のこと。
- kagakusuki
- ベストアンサー率51% (2610/5101)
まずB4セルに次の数式を入力して下さい。 =IF(E4="","",IF(ISNUMBER(1/(FIND("(",E4)>1)),LEFT(E4,FIND("(",E4)-1)&"ベース","(不明)")) 次に、B4セルをコピーしてB5:B11の範囲に貼り付けて下さい。 以上です。
- dedypraja
- ベストアンサー率40% (88/219)
ご質問ありがとうございます。理解しました。 Excelで、指定した範囲内から文字列を抽出するには、以下の手順を行います。 B4セルを選択します。 「関数の挿入」から、「左」「右」関数を選択します。 左関数を選択し、「テキスト」に以下の式を入力します。 =LEFT(E4,FIND("(",E4)-1) 右関数を選択し、「テキスト」に以下の式を入力します。 =IF(ISNUMBER(FIND(")",E4)),RIGHT(E4,LEN(E4)-FIND(")",E4)),"") B4セルに、以下の式を入力します。 =IF(RIGHT(B4,3)="ベース",LEFT(B4,LEN(B4)-3),B4) これで、E4~E11の範囲内で鉄(10~)鉄(20~)板(10~)板(20~)のどれか一つを選択した場合、B4に半角カッコ以降を消した文字列が表示され、さらに「ベース」が付け加えられた文字列が表示されます。 上記の手順が伝わらなかった場合は、再度ご質問ください。
補足
ご回答ありがとうございます。 >>B4セルを選択します。 >>「関数の挿入」から、「左」「右」関数を選択します。>>左関数を選択し、「テキスト」に以下の式を入力します。 未熟者でして、上記の”関数の挿入”しかわかりません。関数の挿入はエクセルのセルの上の方にある、fxでいいのでしょうか? 【右と左の関数を選択】と【テキスト】とはどういうことでしょうか? エクセル初心者ですみません。
- aokii
- ベストアンサー率23% (5210/22062)
B6に、 =LEFT(E6,1)&"ベース"
お礼
返信ありがとうございます。 今後はバージョンを書きます。 こちらの関数でできました。ありがとうございます。