Excel ลบ 0 ชั้นนำจากที่อยู่ IP


8

ฉันมีรายการที่อยู่ IP ในรูปแบบต่อไปนี้:

    010.125.015.013
    010.125.153.012
    010.125.012.135

ฉันไม่สามารถใช้คำสั่ง ping กับแบบฟอร์มนั้นได้เนื่องจาก windows คิดว่ามันเป็นรูปแบบเลขฐานแปด ฉันต้องลบ 0 นำหลังจากแต่ละจุด

มันไม่ง่ายอย่างที่บางคนไม่มีคะแนนนำหลังจากจุดและบางคนมีเฉพาะใน octet ล่าสุดที่บางคนมีใน octet ที่สามหรือทั้งสอง

หากไม่มีวิธีการบังคับให้ ping แปลความหมายเป็นที่อยู่ IP แบบทศนิยมตามจุด

ใครช่วยได้บ้าง

ขอบคุณ


2
เราจะสมมติว่าคุณต้องการอนุรักษ์ 0 ในสิ่งที่ชอบ123.234.000.276? (ใช่ตัวอย่างเป็นการหลอกลวง)
CVn

ในตัวอย่างของฉันจะต้องไม่เป็น 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 '
มิคาล

คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายด้วยพลังของ regex! ใช้ลิงค์นี้เพื่อเริ่มต้น regex นั้นง่ายเหมือน^0(จับคู่ศูนย์ที่จุดเริ่มต้นของสตริง!)
Dudemanword

2
การลบเลขศูนย์นำหน้าจะเปลี่ยน IP เนื่องจากเลขศูนย์นำหน้าหมายถึงตัวเลขฐานแปด
CodesInChaos

1
@CodesInChaos โดยทั่วไปใช่ แต่การป้อนข้อมูลดูเหมือนว่ามีใครบางคนเพียงเติมศูนย์เพื่อทำให้แต่ละ octet ยาวสามหลัก ดูเหมือนว่าไม่น่าเป็นไปได้ที่ใครบางคนจะเปลี่ยนสัญกรณ์เป็นฐานแปดในขณะที่ทำการดำเนินการนั้นนอกจากจะไม่ทำงานสำหรับอ็อกเท็ตในช่วง 64 ถึง 99 ฉันเดาว่างานนี้จะแปลง IP จากสัญกรณ์มาตรฐานที่ไม่ใช่ทศนิยม ตัวเลขที่มีศูนย์นำหน้าไปยังสัญกรณ์มาตรฐานที่มีตัวเลขทศนิยมโดยไม่มีศูนย์นำหน้า
kasperd

คำตอบ:


11

นี่คือสิ่งที่คุณสามารถทำได้:

  1. ฉันถือว่าแต่ละ IP อยู่ในเซลล์เดียวเป็นข้อความ ตอนนี้แปลงเซลล์เดียวเป็นคอลัมน์ (โดยใช้คุณสมบัติ Text-to-Columns) โดยระบุ.(จุด) เป็นตัวคั่น ตอนนี้พวกเขาจะได้รับการแจกจ่ายเป็นตัวเลขในเซลล์ต่อเนื่อง 4 รายการถัดไปตอนนี้ศูนย์ควรจะหายไป

  2. ใช้ฟังก์ชัน Concatenate (ดูวิธีใช้ Excel เพื่อดูรายละเอียดและเข้าร่วมหมายเลข 4 โดยรวม.หลังจากแต่ละสตริงตอนนี้คุณควรมีเซลล์ที่มี IP เดียวกันโดยไม่รวมศูนย์นำหน้าทั้งหมด



6

อันนี้ใช้SUBSTITUTE:

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

ป้อนคำอธิบายรูปภาพที่นี่

ครั้งแรกก็จดจ้องพื้นที่ว่างรอบ IP (ในC5) เพิ่มคำนำหน้า@.ทดแทน.0กับสองครั้งแล้วเอาเพิ่มคำนำหน้า.@.


ต๊าย! ฉันพบคำตอบนี้ดังนั้น "คิดนอกกรอบ" เมื่อเทียบกับคำตอบอื่น ๆ :) +1 เพราะ (ล้อเล่น) คุณชนะที่ codegolf (จริงจังกว่า) การใช้TRIMเพื่อให้แน่ใจว่าจะไม่ออกจากพื้นที่สีขาวในที่สุด (... และยัง ชนะ codegolf จนถึงตอนนี้! ;-D)
danicotra

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 มีเกือบทุกชื่อสูตรที่แตกต่างกัน ; อย่างไรก็ตามเรา;ไม่ได้ใช้,เป็นตัวคั่นพารามิเตอร์ของสูตรดังนั้นจึงต้องเปลี่ยนมัน - btw ในอิตาลีเราใช้เครื่องหมายจุลภาค (ไม่ใช่จุด) เป็นตัวคั่นสำหรับส่วนทศนิยมของตัวเลข สุดท้าย แต่ไม่ท้ายสุดฉันใช้ Excel ในที่ทำงาน แต่ที่บ้านฉันมี LibreOffice เท่านั้นและต้องยอมรับว่ามันไม่ได้รับการจัดทำเป็นเอกสารเช่นเดียวกับ Excel (ฉันมักจะหวังว่าชื่อสูตรจะยังคงเหมือนเดิมระหว่างสอง) และขาดคุณสมบัติที่ดี ...
danicotra

PS ฉันลืม ... LibreOffice แตกต่างจาก Excel แม้ในความจริงที่ว่าการอ้างอิงชีต/ เซลล์นั้นทำ.ใน LibreOffice ในขณะที่ใน Excel คุณต้องใช้!แทน ( 'Sheet 1'.A1<=> 'Sheet 1'!A1)
danicotra
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.