Excel、IPアドレスから先頭の0を削除する


8

次の形式のIPアドレスのリストがあります。

    010.125.015.013
    010.125.153.012
    010.125.012.135

Windowsがドット付きの8進数のフォームだと思っているので、そのフォームでpingを実行できません。各ドットの後の先頭の0を削除する必要があります。

それらのいくつかは、先頭に0の後にドットがまったくないものもあれば、最後のオクテットにのみ存在するものもあれば、3番目のオクテットにあるもの、またはその両方があるため、それほど単純ではありません。

pingに強制的に解釈させる解決策がない限り、ドット付き10進IPアドレスとして解釈されます。

誰か助けてもらえますか?

ありがとう


2
私たちはあなたがのようなもので0を保存したいと思い123.234.000.276ますか?(はい、偽の例です)
CVn 2015年

私の例では0がない必要があります: '010.125.015.013' '010.125.153.012' '010.125.012.135'それらは次のようにする必要があります:'10 .125.15.13 ''10 .125.153.12' '10 .125.12.135 'ただし、例: '010.155.105.013'でなければなりません:'10 .155.105.13 '
Michal

あなたは正規表現の力でこれを非常に簡単に行うことができます!開始するには、このリンクを使用してください。正規表現は^0(文字列の先頭でゼロに一致する!)
Dudemanword

2
先頭のゼロは8進数を表すため、先頭のゼロを削除するとIPが変更されます。
CodesInChaos

1
@CodesInChaos一般的にはい。しかし、入力は誰かが単純にゼロを付加して各オクテットを3桁にするように見えます。64から99の範囲のオクテットでは機能しないことに加えて、その操作の実行中に誰かが表記を8進数に変更する可能性は低いと思われます。タスクは、IPを10進数の非標準表記から変換することだと思います先行ゼロのある数値を、先行ゼロのない10進数の標準表記に変換します。
kasperd 2015年

回答:


11

できることは次のとおりです。

  1. 各IPはテキストとして単一のセルにあると思います。次に.、区切り記号として(ドット)を指定して、(テキストから列への機能を使用して)この単一のセルを列に変換します。それらは、次の4つの連続したセルに数値として分散されるようになり、先行ゼロはなくなるはずです。

  2. 関数Concatenateを使用します(詳細についてはExcelのヘルプを参照し、.各文字列の後に含めることで4つの数値を結合します。これで、すべての先行ゼロを除いて同じIPのセルができました。


12

どうですか

=INT(MID(A1,1,3)) & "." & 
 INT(MID(A1,5,3)) & "." & 
 INT(MID(A1,9,3)) & "." & 
 INT(MID(A1,13,3))

6

これは使用しますSUBSTITUTE

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("@."&TRIM(C5),".0","."),".0","."),"@.","")

ここに画像の説明を入力してください

最初に、IPの周囲の空白スペースを削除しC5、プレフィックスを追加し、2回@.置換.0して.から、追加されたプレフィックスを削除します@.


ふew!私はこの答えを、これまでの他のものと比較して「横の考え方」だと思います:) +1(冗談)あなたがcodegolfで(もっと真剣に)勝つためTRIM、最終的に空白を残さないようにするために(...これまでにcodegolfを獲得!;
D

3

時間どおりに打たれる(式をイタリア語から英語に変換する必要があります...また、LibreOfficeのみを破棄します...)とにかく、IPアドレスが列Aにあるとすると、これをお勧めします。

=CONCATENATE(VALUE(MID(A1,1,3)),".",VALUE(MID(A1,5,3)),".",VALUE(MID(A1,9,3)),".",VALUE(MID(A1,13,3)))

@fheub:どうもありがとうございました。Ms-Excelのイタリア語版には、ほとんどすべての異なる数式の名前があります。それでも、式のパラメーターセパレーターとして使用し;ない,ので、パラメーターを変更する必要があります。イタリアでは、数値の小数部のセパレーターとして(ドットではなく)コンマを使用します。最後に重要なことですが、私は職場でExcelを使用していますが、自宅ではLibreOfficeしか持っておらず、Excelほど文書化されていないことを認めなければなりません(常に2つの式の名前が変わらないことを願っています)。 ...
ダニコトラ2015年

PS忘れていた... LibreOfficeはExcelとは異なり、シート/セルの参照は.LibreOfficeで作成されますが、Excel !では代わりに使用する必要があります('Sheet 1'.A1<=> 'Sheet 1'!A1)。
danicotra 2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.