|
▼俊之 さん、かみちゃんさん、こんばんは。
>A1に入力するのは文字数が決まっていないが、前半は漢字、後半は数字
>これを
>B1には漢字を表示
>C1には数字を表示
>できるような関数が知りたいなと思っています
かみちゃんさんのコードで良いと思いますけどね!!
敢えて数式で行うなら・・・、長いですよ!!
セルA1に
「野ブタ2005」という文字列が入っていたとします。
・「挿入」---「名前」---「定義」とクリックし、名前の定義ダイアログを
表示させます。
・ここで「numeric」という名前を
参照範囲を
「={"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}」
として登録します(両端の「」は除く、以降の数式も同様です)。
これは、全角の数字を分割対象としています。
全角は対象外の場合は
参照範囲を
「={"0";"1";"2";"3";"4";"5";"6";"7";"8";"9"}」
として下さい。
・名前と参照範囲を設定後、OKボタンを押して下さい。
・次に数式です。
セルB1に
「=IF(MIN(IF(ISERROR(FIND(numeric,A1)),LEN(A1)+1,FIND(numeric,A1)))>LEN(A1),A1,
MID(A1,1,MIN(IF(ISERROR(FIND(numeric,A1)),LEN(A1)+1,FIND(numeric,A1)))-1))」
但し、配列を使用していますから、
セルの確定はEnterキーではなく、
Ctrl+Shift+Enterキーで確定してください。
セルC1には、
「=SUBSTITUTE(A1,B1,"")」
セルの確定はこちらはEnterキーです。
これでセルA1の文字列を変えて試して見てください。
私は、こんなに長くなってしまった数式は業務では
使いません(作るときは良いですが、後で見返したときに
どういう意味だったか理解するのに、すっごく苦労しそうです)。
やっぱり、かみちゃんさんのコードで良いと思いますけどね!!
参考程度に見といてください。
|
|