Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


49068 / 76736 ←次へ | 前へ→

【32591】Re:文字の選別
発言  ichinose  - 05/12/18(日) 20:16 -

引用なし
パスワード
   ▼俊之 さん、かみちゃんさん、こんばんは。

>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の文字列を変えて試して見てください。


私は、こんなに長くなってしまった数式は業務では
使いません(作るときは良いですが、後で見返したときに
どういう意味だったか理解するのに、すっごく苦労しそうです)。

やっぱり、かみちゃんさんのコードで良いと思いますけどね!!

参考程度に見といてください。

0 hits

【32570】文字の選別 俊之 05/12/18(日) 14:25 質問
【32571】Re:文字の選別 かみちゃん 05/12/18(日) 14:37 発言
【32572】Re:文字の選別 俊之 05/12/18(日) 14:44 質問
【32573】Re:文字の選別 かみちゃん 05/12/18(日) 14:53 発言
【32574】Re:文字の選別 俊之 05/12/18(日) 15:03 質問
【32575】Re:文字の選別 かみちゃん 05/12/18(日) 15:15 発言
【32577】Re:文字の選別 俊之 05/12/18(日) 15:30 質問
【32578】Re:文字の選別 かみちゃん 05/12/18(日) 15:35 発言
【32591】Re:文字の選別 ichinose 05/12/18(日) 20:16 発言
【32592】Re:文字の選別 Kein 05/12/18(日) 20:20 回答
【32600】Re:文字の選別 awu 05/12/19(月) 11:17 回答
【32607】Re:文字の選別 俊之 05/12/19(月) 14:48 お礼

49068 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free