文字列形式 (XX.XXX.YYY.XX) の IP を指定すると、YYY の値を確認して隣接するセルにコピーできますか?
値は 2 文字または 3 文字の長さで、常に 2 番目のピリオドの後に来ます。
以下ジェリーが回答。今後ともジェリーをよろしくお願いいたします!
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 になります。
長さ位置部分:
FIND(".",A1,FIND("@",R)+1)
ここで既に使用した式FIND("@",R)+1
が 7 であるため、次のようになりますFIND(".",A1,7)
。これは、A1 の 7 文字目以降にあるドットの位置を見つけます。これは値 10 を取得します。
これはよく知られているはずで、6 である@
inの位置を取得しR
ます。
10-6
これは、探しているものよりも 1 文字長くなります。(ランク付けされた位置を扱っているためです。たとえば、文字列の 1 番目と 3 番目の文字の間の文字列の長さは 1 ですが、3-1 は 2 になります)
したがって、最後の -1 部分があるのはなぜですか。