すべての Dell タグが Excel にあります。短いタグを長いタグに変換したいです。小さなコードを BigDecimal に変換する必要がありますが、これは Excel で実行できますか。
例えば:
So Simple
Typical Service Tag 5RFDP01
Its Express Service Code
125-423-316-01
The dashes are the only thing that might throw you.
The Service Tag is just a big base-36 number (composed of digits [0-9A-Z]) so,
Convert it to a big decimal number (12,542,331,601), then
Add dashes every third digit starting from the left-most (MSD) digit
(This step is not necessary, but really does make the number a little easier to use.)
答え1
少し複雑ですが、関数がDECIMAL
利用できない場合でも、数式でこれを実現できます。次の数式でこれを実現できます。
= (IFERROR(MID(A1,1,1) + 55, CODE(MID(A1,1,1))) - 55) * 36^6
+ (IFERROR(MID(A1,2,1) + 55, CODE(MID(A1,2,1))) - 55) * 36^5
+ (IFERROR(MID(A1,3,1) + 55, CODE(MID(A1,3,1))) - 55) * 36^4
+ (IFERROR(MID(A1,4,1) + 55, CODE(MID(A1,4,1))) - 55) * 36^3
+ (IFERROR(MID(A1,5,1) + 55, CODE(MID(A1,5,1))) - 55) * 36^2
+ (IFERROR(MID(A1,6,1) + 55, CODE(MID(A1,6,1))) - 55) * 36^1
+ (IFERROR(MID(A1,7,1) + 55, CODE(MID(A1,7,1))) - 55) * 36^0
このIFERROR
関数には Excel 2007 以降が必要です。また、この数式では、サービス タグがセル A1 にあることを前提としています。
適切な書式設定を取得するには、CharlieRB が別の回答で述べたようなカスタム書式を使用できます。###-###-###-##
答え2
Excel 2013では、DECIMAL
関数。
この例では、サービス タグの値が列 A にあることを前提としています。エクスプレス サービス コードを入力する場所にこの数式を配置します。
=DECIMAL(A1, 36)
この数式はExcel 2013にA1
、基数36それを同等の 10 進数値に変換します。
列内のセルをカスタムフォーマットする必要があります。###-###-###-##