重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下のような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関数の使い方を調べたのですが上記関数をどのようにしたらうまくいくのかわかりませんでした。

よろしくお願いします。

A 回答 (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 ユーザー関数」で照会して、何処へ上記コードをどの画面でどこにコピペしたら良いか勉強したら。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
質問内容のいたらなさ申し訳ありません。

ユーザー関数というものがあるんですね。
すごく短い関数で必要としている回答を得ることができました。

ありがとうございました。

お礼日時:2011/06/27 14:35

=INT(MID(A1,FIND("☆",SUBSTITUTE(A1,".","☆",3))+1,3))


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!