• ベストアンサー

IPアドレス第4オクテッドの数値を得る

以下のようなIPアドレスがあると過程します。 <例> 172.20.0.10 172.20.0.11 以前こちらのサイトでIPアドレスの第2オクテッドの数値を得る方法を ご教授いただきました。 =IF(A1="","",REPLACE(REPLACE(A1,FIND(".",A1,FIND(".",A1)+1),99,""),1,FIND(".",A1),"")+0) この方法を応用して第4オクテッドのみを取得したいと考え、REPLACE関数、FIND関数の使い方を調べたのですが上記関数をどのようにしたらうまくいくのかわかりませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

オフィスソフトのことらしいが、エクセルのシートのセルでの問題か?質問にはっきり書くこと。 最適のVB関数があるので、 標準モジュールに Function splitn(a, n) s = Split(a, ".") splitn = s(n - 1) End Function ト入れる。 シートで A2に「111.234.134.34」とあるとき、B2などに =splitn(A2,3) と入れると 134が返る。 2番目なら =splitn(A2,2) 関数でやると式が長くなるが、ユーザー関数を使うとこんなに簡単。 Googleででも、「エクセル VBA ユーザー関数」で照会して、何処へ上記コードをどの画面でどこにコピペしたら良いか勉強したら。

miniminidog_001
質問者

お礼

回答ありがとうございます。 質問内容のいたらなさ申し訳ありません。 ユーザー関数というものがあるんですね。 すごく短い関数で必要としている回答を得ることができました。 ありがとうございました。

その他の回答 (1)

回答No.2

=INT(MID(A1,FIND("☆",SUBSTITUTE(A1,".","☆",3))+1,3)) 3番目の「.」を☆に置き換えて(SUBSTITUTE)、その☆が何文字目にあたるかを検索し(FIND) 検索した次の文字から3文字分返す(MID)。数値化と整数化する(INT) エラー処理なし

関連するQ&A

専門家に質問してみよう