[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『数字だけ』(もち)
例えば ■山梨県山梨市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.