[[20060421182545]] 『文字の間に記号を入れる』(なる) ページの最後に飛ぶ

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

 

『文字の間に記号を入れる』(なる)
 aaaabbbbccccdddd
 というデータの隣に
 aaaa-bbbb-cccc-dddd
 という具合に間にハイフンを入れたいときはどうすればいいのでしょうか?

 全体で16文字、その中で - を4文字ごとに入れるのであれば、
 =MID(A1,1,4)&"-"&MID(A1,5,4)&"-"&MID(A1,9,4)&"-"&MID(A1,13,4)
 こんな数式で出来ますが。
(純丸)(o^-')b

 4桁ずつ区切るものは、
 =IF(LEN(A1)<13,A1,REPLACE(REPLACE(REPLACE(A1,5,,"-"),10,,"-"),15,,"-"))

 特定の文字間に差し込むのでしたら、
 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"ab","a-b"),"bc","b-c"),"cd","c-d")
 のようなことでは、どうでしょう?                       (LOOKUP)

 ユーザー定義関数は如何でしょう?
 
1)Alt + F8 で、Microsoft Visual Basic を立ち上げる
2)挿入 → 標準モジュール
3)出てきた白い画面に、下記コードをコピペ
4)普通の数式と同じように
  =naru(A1)
  の様に使用。
 
 標準モジュールへ
'------------------------
Function naru(MyVal As Variant) As Variant
Dim MyLen As Long, i As Long
Dim x As Variant
MyLen = Len(MyVal)
i = 1
Do Until i = MyLen
    If Mid(MyVal, i, 1) <> Mid(MyVal, i + 1, 1) Then
        x = x & Mid(MyVal, i, 1) & "-"
        MyLen = MyLen + 1
    Else
        x = x & Mid(MyVal, i, 1)
    End If
    i = i + 1
Loop
naru = Mid(x, 1, Len(x) - 1)
End Function
 
※検証不足でしたらごめんちゃい
 (キリキ)(〃⌒o⌒)b

コメント返信:

[ 一覧(最新更新順) ]


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