Excel, xóa 0 hàng đầu khỏi địa chỉ IP


8

Tôi có một danh sách các địa chỉ IP theo mẫu sau:

    010.125.015.013
    010.125.153.012
    010.125.012.135

Tôi không thể thực thi ping với hình thức đó vì các cửa sổ nghĩ rằng đó là dạng bát phân chấm. Tôi cần xóa 0 hàng đầu sau mỗi dấu chấm.

Điều đó không đơn giản vì một số trong số chúng không có số 0 đứng đầu sau các dấu chấm và một số trong số chúng chỉ có trên octet cuối cùng, trong đó một số có trên octet thứ ba hoặc cả hai.

Trừ khi có một giải pháp để buộc ping diễn giải là một địa chỉ IP thập phân rải rác.

Có ai giúp được không?

Cảm ơn


2
Chúng tôi sẽ cho rằng bạn muốn giữ 0 trong một cái gì đó như thế 123.234.000.276nào? (Vâng, ví dụ không có thật.)
CVn

không có 0 nào trong ví dụ của tôi: '010.125.015.013' '010.125.153.012' '010.125.012.135' Chúng cần phải là: '10 .125.15.13 ''10 .125.153.12' '10 .125.12.135 ví dụ: '010.155.105.013' Nó phải là: '10 .155.105.13 '
Michal

Bạn có thể làm điều này khá dễ dàng với sức mạnh của regex! Sử dụng liên kết này để bắt đầu. Regex đơn giản như ^0(khớp một số 0 ở đầu chuỗi!)
Dudemanword

2
Loại bỏ các số 0 đứng đầu làm thay đổi IP, vì số 0 đứng đầu biểu thị số bát phân.
CodeInChaos

1
@CodesInChaos Nói chung là có. Nhưng đầu vào trông giống như ai đó chỉ đơn giản là các số không được chuẩn bị trước để làm cho mỗi octet dài ba chữ số. Có vẻ như ai đó cũng sẽ không thay đổi ký hiệu thành bát phân trong khi thực hiện thao tác đó, ngoài ra nó sẽ không hoạt động cho các octet trong phạm vi 64 đến 99. Tôi đoán nhiệm vụ là chuyển đổi IP từ ký hiệu không chuẩn bằng số thập phân các số có số 0 đứng đầu với ký hiệu chuẩn có số thập phân mà không có số 0 đứng đầu.
kasperd

Câu trả lời:


11

Đây là những gì bạn có thể làm:

  1. Tôi giả sử mỗi IP nằm trong một ô duy nhất dưới dạng văn bản. Bây giờ chuyển đổi ô đơn này thành các cột (bằng cách sử dụng tính năng Chuyển văn bản thành Cột) chỉ định .(dấu chấm) làm dấu phân cách. Bây giờ chúng sẽ được phân phối dưới dạng số trong 4 ô liên tiếp tiếp theo, số 0 hiện tại sẽ biến mất

  2. Sử dụng hàm Concatenate (xem trợ giúp Excel để biết chi tiết và tham gia 4 số bằng cách bao gồm .sau mỗi chuỗi. Bây giờ bạn sẽ có một ô có cùng IP không bao gồm tất cả các số 0 đứng đầu.


12

Thế còn

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

6

Cái này sử dụng SUBSTITUTE:

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

nhập mô tả hình ảnh ở đây

Đầu tiên, nó cắt khoảng trống xung quanh IP (in C5), thêm tiền tố @., thay thế .0bằng .hai lần và sau đó loại bỏ tiền tố được thêm vào @..


Phù! Tôi thấy câu trả lời này rất "suy nghĩ bên" so với các câu hỏi khác cho đến nay :) +1 vì (đùa) bạn thắng tại codegolf (nghiêm túc hơn) việc sử dụng TRIMđể đảm bảo không để lại bất kỳ khoảng trắng cuối cùng nào (... và vẫn chiến thắng codegolf cho đến nay! ;-D)
danicotra

3

Bị đánh đúng giờ (Tôi phải dịch các công thức từ tiếng Ý sang tiếng Anh ... ngoài ra tôi chỉ loại bỏ LibreOffice ...) Dù sao, giả sử địa chỉ IP nằm trên cột A, tôi đề nghị điều này:

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

@fheub: cảm ơn bạn rất nhiều vì sự đánh giá cao. Phiên bản tiếng Ý của Ms-Excel có hầu hết các tên công thức khác nhau ; Tuy nhiên, chúng tôi ;không sử dụng ,dấu phân cách tham số của công thức để thay đổi chúng - btw ở Ý, chúng tôi sử dụng dấu phẩy (không phải dấu chấm) làm dấu tách cho phần thập phân cho các số. Cuối cùng nhưng không kém phần quan trọng, tôi sử dụng Excel tại nơi làm việc nhưng ở nhà tôi chỉ có LibreOffice và phải thừa nhận rằng nó không được ghi chép tốt như Excel (tôi luôn hy vọng tên công thức vẫn giữ nguyên giữa hai) và chắc chắn thiếu một số tính năng hay so với nó ...
danicotra

PS Tôi đã quên ... LibreScript khác với Excel ngay cả trong thực tế là tham chiếu trang tính / ô được tạo bằng .LibreScript trong khi trong Excel bạn phải sử dụng !thay thế ( 'Sheet 1'.A1<=> 'Sheet 1'!A1).
danicotra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.