- ベストアンサー
Exceについて
123546abc 1234567abc 12345678abc 例えばこのような数字とアルファベットが同時に表示されてしまった場合、この数字だけを抜き出して隣のセルに表示させる方法は無いものでしょうか?? 123546abc→123456 1234567abc→1234567 12345678abc→12345678 分かる方がいらっしゃいましたら教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
右側のabcってのは数字の右側3文字固定なんですか? その場合は123456abcがA1に入っているとして B1あたりに下記をどーぞ =LEFT(A1,LEN(A1)-3) それとも任意の文字数で場所もランダムなんでしょうか? そうなるとちょいと難しいですねぇ
その他の回答 (2)
- hakkiriitte
- ベストアンサー率41% (20/48)
裏技ですが、VBAを使えばできます。 VBAには、Val関数というのがあって、ご希望の動作をします。 手順 Alt+F11 で Visual Basic Editor を起動します。 (メニューから、ツール→マクロ→Visual Basic Editor でもOK) メニュー(Visual Basic Editor の)から、挿入→標準モジュール 開いた、「xxxx.xls - Module1(コード)」というダイアログに、以下のコードを貼り付ける Public Function ValueSP(Arg) Dim rs rs = Val(Arg) ValueSP = rs End Function で、ファイル→xxxx.xlsの保存 ファイル→終了して Microsoft Excelに戻る 適当なセルで、 =ValueSP(A1) とかやれば、普通の関数として使えます。
- deepimpact7110
- ベストアンサー率29% (108/365)
回答者1の方が言われるように、右端から3文字が アルファベット固定であるかとか、文字列に含まれる 文字数の最大数は何文字なのかとか、要件の定義を もう少し明確にされた方が良いかと思います。 ただ、今の私のイメージでは、MID関数を使用し、 左端から1文字づつ、分離していきます。 それから、それぞれの文字に1をかけます。かけて エラーにならないものは数字、エラーになったのは 数字ではない文字ということです。 で、次にエラーにならなかった数字とみなされる ものだけを順番に、Concatenate関数で結びつけて いけば、何となく、答えが出そうなイメージします が、1度試してみてください。
お礼
出てきてしまうアルファベットについては3文字固定でしたので大変参考になりました。有難う御座います!(^0^)