0

6000以上のレコードの新しい製品コードを作成する必要があります。これを高速に実行して将来解読するには、古いコードから新しいコードに数式を配置する必要があります。

サンプルコード:

yas111
bd224
sax112
sd00015
sp00114

私の数式が+1の場合、最終結果は次のようになります。

zbt222   
ce335
tby223
te11126
tq11225

数字は+1になり、文字はアルファベットの次の文字に増加します。代用機能を試してみました。ただし、すでに使用されている番号がある場合は、両方を読み取ることはできません。例:

Substitute(substitute(a1,"0","5"),"5","0")

1のみを読み取ります。結果は

0 = 0
5 = 0

しかし、私はこの結果を得ようとしています:

0 = 5
5 = 0
4

2 に答える 2

1

純粋なExcelの式でこれを行うことは、私の意見では手に負えないほど複雑になります。最善の方法は、vbaを使用することですUDF

Function IncrCode(rng As Range) As Variant
    Dim strOld As String, strNew As String
    Dim i As Long

    strOld = rng.Cells(1, 1).Value
    strNew = ""
    For i = 1 To Len(strOld)
        strNew = strNew & Chr$(Asc(Mid$(strOld, i, 1)) + 1)
    Next
    IncrCode = strNew
End Function

このように呼んでください

=IncrCode(A1)

if A1=yas111結果はzbt222

あなたの質問に基づいて、すべての文字が次のASCII文字にインクリメントされることに注意してください。例:
9-> :
z-> {
Z->[

于 2013-03-21T05:48:37.060 に答える
0

必要なのは、決して使用されない単一の文字です。だとしましょう&

この使用されていないキャラクターで武装すると、次のように実行できます。

すべてのZを&に変更します。
すべてのYをZに
変更します。すべてのXをYに
変更します。すべてのWをXに変更します

。などなど

すべての&を0に変更します。

于 2013-03-21T04:10:28.107 に答える