• 締切済み

セル中の文字列を分割する方法

解決方法をご教授ください。 例として任意のセルに 「ビニールパイプ下地OP塗面φ100」 とあり、前半を全角換算にして10文字、後半を全角換算にして12文字として 分割する方法はあるのでしょうか。 「ビニールパイプ下地OP塗面」と「 φ100~200」 にしたいのに 「ビニールパイプ」と「下地OP塗面φ100」 になってしまいます。 最初、=LEFTと=MIDを利用して分割を試みましたが全角に換算した文字で 分割をしたいのに半角全角合わせての設定しか出来ませんでした。 用途としてエクセルで貰ったデータをCSVに変換して専用ソフトに取り込む 際に取込める文字の制限があるので困っています。 ぜひ、助けてください。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

JIS関数で、全角に統一してカウントではどうなのかな。 ーー A1 ビニールパイプ123OP塗面φ100" (ビニールパイプ123が半角) B1に=JIS(A1) で ビニールパイプ123OP塗面φ100” と全角化。 ーー これに対し >前半を全角換算にして10文字、後半を全角換算にして12文字として MID関数で =MID(D1,1,12) でビニールパイプ123OP となる。 >ビニールパイプ下地OP塗面、は13文字だがどうなっているのかな。 またもとの半角に戻せということは無いですよね。 ーー 間違いがあるとの補足はよんだが 「ビニールパイプ下地OP塗面」のように全行で左の部分が13文字とそろうということは考えにくい。 実例をもう少し挙げないから回答がしにくい。 文章的な文字の中で、何か意味的な特別な語句で切るというのが世の中の多い実情では(従って難しい)。

noname#79209
noname#79209
回答No.3

最近は文字数のカウント方法が、半角全角の区別なく、文字通り文字数になってしまいました。 > 全角換算(半角は2文字で全角1文字とみなす)10文字と これを、半角で20文字と言い換えて良いなら、 LEFTB関数、MIDB関数、RIGHTB関数、LENB関数があります。 > 汎用で使用出来るように これは「区切りたい文字が『φ』だけではないので」 という意味でしょうか? また、文字数で区切ると、変なところで区切られてしまうこともあり得ます。 これは、 > 「ビニールパイプ」と「下地OP塗面φ100」になってしまいます。 と結果的に同義だと思いますが’。。。

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

#1です。UNICODE文字を使っていない条件でなら 前方=LEFTB(A1,24) 後方=RIGHTB(A1,20) または 後方=MIDB(A1,25,20)

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

「φ」の位置を基準で良いなら A1="ビニールパイプ下地OP塗面φ100" B1=LEFT(A1,FIND("φ",A1,1)-1) C1=RIGHT(A1,LEN(A1)-LEN(B1))

RGB1234
質問者

お礼

回答ありがとうございます。質問の文面に間違いがありました。 任意の文字列に対応しなくてはなりませんのでφ位置では困ります。 「ビニールパイプ下地OP塗面 φ100」 を 「ビニールパイプ」と「下地OP塗面 φ100」 ではなく 「ビニールパイプ下地OP塗面」と「 φ100」 にしたいわけです。 汎用で使用出来るように 全角換算(半角は2文字で全角1文字とみなす)10文字と 全角換算(半角は2文字で全角1文字とみなす)12文字と 分けたいのです。

RGB1234
質問者

補足

カタカナは半角のつもりで記述しました。 分かりにくくて本当に申し訳ありません。

関連するQ&A