質問: excel 文字列分割について excel2003を使用しています。 1つのセルに文字列が入力されており、 それを決まったバイト数ずつ別のセルに分割したいと考えています。 例)a1の文字列を6バイトずつ分割したい a1:東京都文京区 ↓ b1:東京都 c1:文京区 これを実現する為に b1に「=leftb(a1,6)」 c1に「=midb(a1,7,6)」という数式を入力しました。 a1の文字列が全角のみ(または半角のみ)なら 上記の数式で問題ないと思うのですが、 分割対象の文字列は全角と半角が混ざっており、 例えばa1の値が 「a東京都文京区」 というようなものだった場合、 b1:a東京 c1:文京 となり、元の文字列にある「都」の文字が消えてしまいます。 元の文字列が上記の様な場合には b1:a東京 c1:都文京 というように値が返されるようにしたいのですが、 どのように実現したらよいでしょうか?
回答: 一発では無理です。 アイデアはあります。 ヒントを記載します。 (区切りとなる文字が限定される場合を想定しての回答ですが) ("都"道"府"県"と。) mid関数を使います。 find関数を使います。引数は一部省略します。 =mid( a1 ,find("都") ,100) を都道府県分の列を用意して、結果がエラーじゃない ものを出力したい結果列に反映するようにする。 最後は値貼り付けする。おわり。