2017-01-01 4 views

答えて

1

最初の例のように、番号の長さが16を超える場合、Excelの制限は15桁であるため、テキストとして入力する必要があります。

一つの方法は、A1であなたの文字列で、次のようになります。

A2: =IF(RIGHT(REPLACE(A1,4*ROWS($1:1)+ROWS($1:1),0,","),1)=",","",REPLACE(A1,4*ROWS($1:1)+ROWS($1:1),0,",")) 

、あなたは空白を取得するまで、あなたは数字の数千を持っている場合でも、ダウン埋めます。

はその後、いくつかの他の細胞では、(以下私のスクリーンショットではB1)は、次のコマンドを入力します。あなたの結果である列Aの最後の非空白のエントリを返します
=LOOKUP(2,1/LEN($A:$A),$A:$A) 

。ビットより柔軟なものを

enter image description here

、VBAで書かれたUDF(ユーザ定義関数)が提案されています。次のUDFには、オプションの引数があります。必要に応じて、別の文字を挿入し、異なる間隔を指定することができます。文字列以外を指定しないと、4分おきにコンマが挿入されます。

また、VBA Format関数の使用方法も示しています。


Option Explicit 
Function InsertChar(STR As String, Optional sInsertCharacter As String = ",", Optional lSpacing As Long = 4) As String 
    Dim sCharString As String 
    Dim sFormatString As String 
    Dim sTemp As String 
    Dim I As Long 

For I = 1 To lSpacing 
    sCharString = sCharString & "&" 
Next I 
sCharString = sCharString & sInsertCharacter 

For I = 0 To Len(STR) \ lSpacing 
    sFormatString = sFormatString & sCharString 
Next I 

sFormatString = "!" & Left(sFormatString, Len(sFormatString) - 1) 

sTemp = Format(STR, sFormatString) 
If Right(sTemp, 1) = "," Then sTemp = Left(sTemp, Len(sTemp) - 1) 

InsertChar = sTemp 

End Function 

1

は、あなたはそれが間違った結果を与えるとして、あなたの数の長さは4の倍数である知っている限り、私はRIGHTを使用していないだろう....続けるこの

=LEFT(B1,4)&","&MID(B1,5,4)&","&MID(B1,9,4)&","&MID(B1,13,4) 

を試してみてください。

+0

答えはThanxですがセルの長さは固定されていません – RIslam

1

以下U SER DF慰めはから出発して、すべての4つの文字の後にカンマを挿入するefinedを左:

Public Function fracture(r As Range) As String 
    Dim s As String, s2 As String 
    Dim L As Long, i As Long 

    s = r(1).Text 
    L = Len(s) 
    s2 = "" 
    For i = 1 To L 
     s2 = s2 & Mid(s, i, 1) 
     If i Mod 4 = 0 Then s2 = s2 & "," 
    Next i 
    fracture = s2 
End Function 

例:

enter image description here

注:

  • UDF()UDF(数字またはテキスト文字
  • のいずれかで動作します)は、文字列の末尾にカンマを配置するかどうか文字列の長さは4の倍数です

ユーザー定義関数(UDF)は、インストールと使用が非常に簡単です。

  1. ALT-F11が起動しますVBEウィンドウ
  2. ALT-I ALT-Mを使用すると、保存した場合、新鮮なモジュール
  3. が中のものを貼り付け、VBEウィンドウ

を閉じて開きますUDFはそのブックに保存されます。 後で2003その後、Excelのバージョンを使用している場合は、UDFを削除するにはかなりの.xlsx

より.xlsmとして にファイルを保存する必要があります。

  1. 上記のようVBEウィンドウを開きアウト
  2. はクリアコード
  3. エクセルからUDFを使用するにはVBEウィンドウに

を閉じる:

=骨折(A1)

参照、一般的にはマクロについて詳しく知ることができます。

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

とUDFの仕様については、以下を参照してください。

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

マクロを有効にする必要があります。

関連する問題