- ベストアンサー
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関数の使い方を調べたのですが上記関数をどのようにしたらうまくいくのかわかりませんでした。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
オフィスソフトのことらしいが、エクセルのシートのセルでの問題か?質問にはっきり書くこと。 最適の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 ユーザー関数」で照会して、何処へ上記コードをどの画面でどこにコピペしたら良いか勉強したら。
その他の回答 (1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
=INT(MID(A1,FIND("☆",SUBSTITUTE(A1,".","☆",3))+1,3)) 3番目の「.」を☆に置き換えて(SUBSTITUTE)、その☆が何文字目にあたるかを検索し(FIND) 検索した次の文字から3文字分返す(MID)。数値化と整数化する(INT) エラー処理なし
お礼
回答ありがとうございます。 質問内容のいたらなさ申し訳ありません。 ユーザー関数というものがあるんですね。 すごく短い関数で必要としている回答を得ることができました。 ありがとうございました。