2

文字列形式 (XX.XXX.YYY.XX) の IP を指定すると、YYY の値を確認して隣接するセルにコピーできますか?

値は 2 文字または 3 文字の長さで、常に 2 番目のピリオドの後に来ます。

以下ジェリーが回答。今後ともジェリーをよろしくお願いいたします!

4

1 に答える 1

1

YYY次の式でセルに抽出できます。

=MID(A1,FIND("@",SUBSTITUTE(A1,".","@",2))+1,FIND(".",A1,FIND("@",SUBSTITUTE(A1,".","@",2))+1)-FIND("@",SUBSTITUTE(A1,".","@",2))-1)

IPがA1にあると仮定します。

IP の長さに関係なく機能します。

編集:いくつかの詳細:

ここにはリサイクルされたフォーミュラがいくつかあります。SUBSTITUTE(A1,".","@",2)を返しますXX.XXX@YYY.XX(A1 の 2 番目のドットを で置き換えます) これを大きな数式で使用し、とりあえず@呼び出しましょう。R

これにより、式は次のようになります。

=MID(A1,FIND("@",R)+1,FIND(".",A1,FIND("@",R)+1)-FIND("@",R)-1)
        ^-----------^ ^--------------------------------------^
            Start     |           1            | |     2     |
                                      Length

ずっといい!

開始位置部分:

FIND("@",R)+1の直後の文字の位置を返す@ためMID、最初の から始まりYます。ここで、位置は 7 になります。

長さ位置部分:

  1. FIND(".",A1,FIND("@",R)+1)ここで既に使用した式FIND("@",R)+1が 7 であるため、次のようになりますFIND(".",A1,7)。これは、A1 の 7 文字目以降にあるドットの位置を見つけます。これは値 10 を取得します。

  2. これはよく知られているはずで、6 である@inの位置を取得しRます。

10-6これは、探しているものよりも 1 文字長くなります。(ランク付けされた位置を扱っているためです。たとえば、文字列の 1 番目と 3 番目の文字の間の文字列の長さは 1 ですが、3-1 は 2 になります)

したがって、最後の -1 部分があるのはなぜですか。

于 2013-09-19T20:15:05.080 に答える