[[20150409191744]] 『同一セル内の文字、記号と数字を数字のみにし一部』(JAとよなか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同一セル内の文字、記号と数字を数字のみにし一部順序を変える。』(JAとよなか)

はじめて質問させて頂きます。
21K7000-10002-3といった物を2172000100023へ変換したいのです。アルファベットは数種類あり、後ろの4桁も色々あります。Kを2として4桁の先頭7を3番目、21の後ろへもっていき2を4番目にしたいです。
よろしくお願い致します。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 例題が一つなので問題になりそう...

 とりあえず UDF

 =SwopK(A1)

 Function SwopK(txt As String) As String
    With CreateObject("VBScript.RegExp")
        .IgnoreCase = True
        .Pattern = "(\d+)([A-ZA-Z])(\d)(\d{3})-(\d+)-(\d+)"
        If .test(txt) Then SwopK = .Replace(txt, "$1$32$4$5$6")
    End With
End Function

(seiya) 2015/04/09(木) 20:19


 やはり、例が少なすぎますね。
 アルファベットは数種類 ではなく、数種類程度なら、これとこれとこれ。で、それぞれの値はこれこれ。

 たとえば、じゃぁ A は いくつだろう、Jはいくつだろう。こちらではわかりませんよね。

(β) 2015/04/09(木) 21:20


 もしかして、文字列の構成は、例で示された形以外になく、アルファベットはいろいろあるけど、必ず 2 と置換?

 =SUBSTITUTE(LEFT(A1,2)&MID(A1,4,1)&2&RIGHT(A1,11),"-","")

 そんなわけないだろうねぇ。

(β) 2015/04/10(金) 07:33


 βさんと一緒だけど。

 =IF(A1="","",IFERROR(SUBSTITUTE(LEFT(A1,2)&MID(A1,4,1)&FIND(MID(A1,3,1),"AKBCDE")&RIGHT(A1,11),"-",),""))

 ※"AKBCDE"のところに対象アルファベットを。関連付けしたい数値順に入力
 
(GobGob) 2015/04/10(金) 08:22

 =IF(A1="","",SUBSTITUTE(REPLACE(A1,3,2,MID(A1,4,1)&2),"-",))

 ◆アルファベットは2に変更しました

(maron) 2015/04/10(金) 11:17


みなさん
ありがとうございます。
例題が少なく申し訳ございません。
みなさんから頂いたヒントで解決へたどり着きました。
ほんとうに助かりました、ありがとうございます。
(JAとよなか) 2015/04/16(木) 12:42

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.