- ベストアンサー
Excelについての質問です。
データに以下のようなデータがいくつも入っています。 ABCアカサタナ10×20×30 (ABC、アカサタナ、10などの数字はそれぞれ文字数が決まってるわけじゃありません) この中から、 10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 ABCアカサタナを抽出することは可能でしょうか? (例えば、ABCアカサタナ10×20×30から10×20×30を除くという操作はあったりするのでしょうか?) また、さらにABC アカサタナと2つに分けることは可能でしょうか? 宜しくお願い致します。 大学の課題で出て困ってしまっています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A B C D E 1 ABCアカサタナ10×20×30 ABCアカサタナ 10×20×30 ABC アカサタナ ◆アルファベット、カタカナ、数字の順番であれば B1=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1) C1=REPLACE(A1,1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1,) D1=LEFT(A1,SUMPRODUCT((CHAR(ROW($65:$90))=MID(A1,COLUMN(1:1),1))*1)) E1=SUBSTITUTE(B1,D1,) または、 E1=REPLACE(LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1),1,SUMPRODUCT((CHAR(ROW($65:$90))=MID(A1,COLUMN(1:1),1))*1),)
その他の回答 (3)
- michi_001
- ベストアンサー率32% (21/65)
>10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 とのことですので、後はそんなに難しくないのでは…? =LEFT(LEN(A1)-(10×20×30を抽出した計算式)) で左側が求まりませんか? 全体の文字数から「10×20×30」の文字数を引いた文字数をLEFT関数で出す。 って感じでしょうか?
お礼
返信ありがとうございます! やはりまだ自分が未熟みたいですね。皆さんの返信に助けられています。 excelは奥が深いですね。 頑張って課題終わらせたいと思います。 ありがとうございました。
- Masa2072
- ベストアンサー率51% (94/182)
> 10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 ということは「10×20×30」の部分の文字数は分かっているということになります。 であれば逆にLEFT関数で文字列の前半部分を取り出せることになりますがいかがでしょう 全体の文字数 - 「10×20×30」の文字数 =「ABCアカサタナ」の文字数です。
お礼
返信ありがとうございます! 本当ですね。 もう少し頭を柔らかくしないとだめですね。 早速組んでみます。 ありがとうございます!
- keirika
- ベストアンサー率42% (279/658)
A1に文字列が入力されていると仮定します。 =SUBSTITUTE(A1,"10×20×30","") でどうでしょうか。
お礼
返信ありがとうございます! 早速substitute関数を使って、 substitute(元のセル、"10×のセル","")とやってみたのですが、 うまく行きませんでした。 そのままsubstiten~が返されてしまいます。 でも、進展がありました。ありがとうございます!
お礼
返信ありがとうございます。 CHAR(ROW)の部分など知らないことが盛りだくさんで勉強になります! 今から早速試してみて、この課題を終わらせたいと思います。 ありがとうございました!