• ベストアンサー

Excelについての質問です。

データに以下のようなデータがいくつも入っています。 ABCアカサタナ10×20×30 (ABC、アカサタナ、10などの数字はそれぞれ文字数が決まってるわけじゃありません) この中から、 10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 ABCアカサタナを抽出することは可能でしょうか? (例えば、ABCアカサタナ10×20×30から10×20×30を除くという操作はあったりするのでしょうか?) また、さらにABC アカサタナと2つに分けることは可能でしょうか? 宜しくお願い致します。 大学の課題で出て困ってしまっています。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

         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),)

mitta_001
質問者

お礼

返信ありがとうございます。 CHAR(ROW)の部分など知らないことが盛りだくさんで勉強になります! 今から早速試してみて、この課題を終わらせたいと思います。 ありがとうございました!

その他の回答 (3)

  • michi_001
  • ベストアンサー率32% (21/65)
回答No.4

>10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 とのことですので、後はそんなに難しくないのでは…? =LEFT(LEN(A1)-(10×20×30を抽出した計算式)) で左側が求まりませんか? 全体の文字数から「10×20×30」の文字数を引いた文字数をLEFT関数で出す。 って感じでしょうか?

mitta_001
質問者

お礼

返信ありがとうございます! やはりまだ自分が未熟みたいですね。皆さんの返信に助けられています。 excelは奥が深いですね。 頑張って課題終わらせたいと思います。 ありがとうございました。

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.2

> 10×20×30を力づくでRIGHT関数などで抽出することはかろうじて出来ました。 ということは「10×20×30」の部分の文字数は分かっているということになります。 であれば逆にLEFT関数で文字列の前半部分を取り出せることになりますがいかがでしょう 全体の文字数 - 「10×20×30」の文字数 =「ABCアカサタナ」の文字数です。

mitta_001
質問者

お礼

返信ありがとうございます! 本当ですね。 もう少し頭を柔らかくしないとだめですね。 早速組んでみます。 ありがとうございます!

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

A1に文字列が入力されていると仮定します。 =SUBSTITUTE(A1,"10×20×30","") でどうでしょうか。

mitta_001
質問者

お礼

返信ありがとうございます! 早速substitute関数を使って、 substitute(元のセル、"10×のセル","")とやってみたのですが、 うまく行きませんでした。 そのままsubstiten~が返されてしまいます。 でも、進展がありました。ありがとうございます!