[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数字だけ』(もち)
例えば ■山梨県山梨市8-1-5の8-1-5だけ取り出す方法 ■2つのセルを合体させる方法または、1つのセルを2つにする方法 A1@ 鹿児島県鹿児島市 A2A 1-1-1 A1@+A 鹿児島県鹿児島市1-1-1
のような感じです
こんな感じであってますでしょうか? [A] [1] 鹿児島県鹿児島市1-1-1 [2] 鹿児島県鹿児島市 [3] 1-1-1 [4] 鹿児島県鹿児島市1-1-1 A1 に、住所を入力 A2 =LEFT(A1,SMALL(IF(ISNUMBER(--MID(A1,ROW(INDIRECT("a1:a"&LEN(A1))),1)),ROW(INDIRECT("a1:a"&LEN(A1))),""),ROW(A1))-1) ↑配列数式 上記数式を入力、またはコピペ後 Ctrl + Shift + Enter で確定 { 数式 }となればOK。 A3 =SUBSTITUTE(A1,A2,) A4 =A2&A3 (キリキ)(〃⌒o⌒)b
大変処理の重い数式ですが、下の表で、B1に
=IF(COUNT(-MID(A1,ROW($1:$30),1))=0,"", REPLACE(LEFT(A1,MATCH(1,MID(A1,ROW($1:$30),1)*0)),1, MATCH(0,MID(A1,ROW($1:$30),1)*0,)-1,))
として、Enterの代わりにCtrl+Shift+Enter。これを下にフィルドラッグ。 というものですが、どうでしょう?
A B 1 山梨県山梨市8-1-50ABC 8-1-50 2 山梨県山梨市八〇−一−五〇
また、文字列を合体させるものは、=C1&D1のようにします。 (LOOKUP)
考えている間にLOOKUPさんのコメントが、、。一応、キリキさんの表で、 A2 =LEFT(A1,MIN(IF(ISERROR(FIND(ROW(A$1:A$9),A1&"1")),"",FIND(ROW(A$1:A$9),A1&"1")))-1) 配列数式です。
LOOKUPさんのご提示を見て、数字が全角の場合を考慮した数式にしてみました。 A2 =LEFT(A1,MIN(IF(ISERROR(FIND(ROW(A$1:A$9),ASC(A1)&"1")),"",FIND(ROW(A$1:A$9),ASC(A1)&"1")))-1) 配列数式です。 7/12 18:15 追記 (純丸)(o^-')b
山梨県山梨市8-1-5の8-1-5だけ取り出す方法
=RIGHT(A1,LOOKUP(10,LEFT(RIGHT(A1,COLUMN(1:1)))*1,COLUMN(1:1)))
by しげちゃん
UDF B1:C1 =StrTxt(A1) Ctrl + Shift + Enter で確定
Function StrTxt(txt As String) Dim a(1 To 2) As String With createObejct("VBScript.RegExp") .Pattern = "\d+.?$" a(1) = .replace(txt,"") a(2) = Replace(txt,a(1),"") End With StrTxt = a (seiya)
σ(^-^;)も正規表現にチャレンジしました。 Alt + F11を押して挿入から標準モジュールを選択。 出てきた画面に下記コードを貼り付けて、その画面を閉じる。 =ricecake(A1) といった塩梅で式を確定します。 (ROUGE) '---- Function ricecake(txt As String) As String txt = StrConv(txt, vbNarrow) With CreateObject("VBScript.RegExp") .Pattern = "\d+(-\d+)*" If .Test(txt) Then ricecake = .Execute(txt)(0) Else ricecake = "" End If End With End Function
ROUGEさん、 実は私も最初は "\d+(-\d+)*"にしたのですがそれだと、 港区赤坂1-1-1 ABCビル34F の時、1-1-1だけ引っ張ってきますよね? 質問の内容は、勝手な判断ですが、1-1-1 ABCビル34F かな?、とおもいまして... (seiya)
そうですねぇ... でも、σ(^-^;)のメタ文字の理解が進んできたということで良しとしましょうT_T (ROUGE)
◆表題の「数字だけ」ではないですが [A] [1] 鹿児島県鹿児島市1-1-1 [2] 鹿児島県鹿児島市
A2=LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A1)&1234567890))-1) (Maron)
おてる
?? サルベージ? (とおりすがり)
こちらのスレ主です。 書き込みスレを勘違いしてるようです。 [[20080705141145]]『セル内の漢字と数字を分けたい』(おてる)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.