วิธีสร้างตัวเลขสุ่มใน Excel โดยไม่ต้องทำซ้ำ

  • แบ่งปันสิ่งนี้
Michael Brown

ในบทความนี้ เราจะพูดถึงสูตรต่างๆ สองสามสูตรเพื่อสุ่มใน Excel โดยไม่ต้องใส่ตัวเลขซ้ำ นอกจากนี้ เราจะแสดงให้คุณเห็นเครื่องสร้างสุ่มสากลที่สามารถสร้างรายการตัวเลขสุ่ม วันที่ และสตริงโดยไม่มีการทำซ้ำ

อย่างที่คุณทราบ Microsoft Excel มีฟังก์ชันหลายอย่างสำหรับสร้างตัวเลขสุ่ม เช่น RAND, RANDBETWEEN และ RANDARRAY อย่างไรก็ตาม ไม่มีการรับประกันว่าผลลัพธ์ของฟังก์ชันใดๆ จะทำซ้ำได้ฟรี

บทช่วยสอนนี้จะอธิบายสูตรบางอย่างสำหรับสร้างรายการตัวเลขสุ่มที่ไม่ซ้ำกัน โปรดทราบว่าบางสูตรใช้ได้กับ Excel 365 และ 2021 เวอร์ชันล่าสุดเท่านั้น ในขณะที่สูตรอื่นๆ สามารถใช้ได้ใน Excel 2019, Excel 2016, Excel 2013 และเวอร์ชันก่อนหน้า

    รับ รายการตัวเลขสุ่มที่ไม่ซ้ำพร้อมขั้นตอนที่กำหนดไว้ล่วงหน้า

    ใช้ได้เฉพาะใน Excel 365 และ Excel 2021 ที่สนับสนุนอาร์เรย์แบบไดนามิก

    หากคุณมี Excel เวอร์ชันล่าสุด วิธีที่ง่ายที่สุด วิธีที่คุณจะได้รับ รายการตัวเลขสุ่มที่ไม่ซ้ำกัน คือการรวมฟังก์ชันอาร์เรย์แบบไดนามิกใหม่ 3 ฟังก์ชันเข้าด้วยกัน: SORTBY, SEQUENCE และ RANDARRAY:

    SORTBY(SEQUENCE( n), RANDARRAY( n))

    โดยที่ n คือจำนวนของค่าสุ่มที่คุณต้องการได้รับ

    ตัวอย่างเช่น หากต้องการสร้างรายการของตัวเลขสุ่ม 5 ตัว ให้ใช้ 5 สำหรับ n :

    =SORTBY(SEQUENCE(5), RANDARRAY(5))

    ป้อนสูตรในเซลล์บนสุด กดปุ่ม Enter และผลลัพธ์จะกระจายไปทั่วเซลล์บนสุดโดยอัตโนมัติจำนวนเซลล์ที่ระบุ

    ดังที่คุณเห็นในภาพหน้าจอด้านล่าง ที่จริงแล้ว สูตรนี้ เรียงตัวเลขจาก 1 ถึง 5 ในลำดับแบบสุ่ม หากคุณต้องการตัวสร้างตัวเลขสุ่มแบบคลาสสิกที่ไม่มีการทำซ้ำ โปรดดูตัวอย่างอื่นๆ ด้านล่าง

    ในสูตรข้างต้น คุณจะกำหนดจำนวนแถวที่จะเติมเท่านั้น อาร์กิวเมนต์อื่นๆ ทั้งหมดจะถูกปล่อยให้เป็นค่าเริ่มต้น หมายความว่ารายการจะเริ่มต้นที่ 1 และจะเพิ่มขึ้นทีละ 1 หากคุณต้องการตัวเลขแรกและการเพิ่มที่แตกต่างกัน ให้ตั้งค่าของคุณเองสำหรับตัวที่ 3 ( เริ่ม ) และอาร์กิวเมนต์ลำดับที่ 4 ( ขั้นตอน ) ของฟังก์ชัน SEQUENCE

    ตัวอย่างเช่น หากต้องการเริ่มต้นที่ 100 และเพิ่มขึ้นทีละ 10 ให้ใช้สูตรนี้:

    =SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

    สูตรนี้ทำงานอย่างไร:

    สูตรนี้ทำงานจากภายในสู่ภายนอก:

    • ฟังก์ชัน SEQUENCE จะสร้างอาร์เรย์ของ หมายเลขลำดับตามค่าเริ่มต้นที่ระบุหรือค่าเริ่มต้นและขนาดขั้นตอนที่เพิ่มขึ้น ลำดับนี้ไปที่อาร์กิวเมนต์ อาร์เรย์ ของ SORTBY
    • ฟังก์ชัน RANDARRAY จะสร้างอาร์เรย์ของตัวเลขสุ่มที่มีขนาดเดียวกับลำดับ (5 แถว 1 คอลัมน์ในกรณีของเรา) ค่าต่ำสุดและค่าสูงสุดไม่สำคัญ ดังนั้นเราจึงสามารถปล่อยให้ค่าเหล่านี้เป็นค่าเริ่มต้นได้ อาร์เรย์นี้ไปที่อาร์กิวเมนต์ by_array ของ SORTBY
    • ฟังก์ชัน SORTBY จะเรียงลำดับหมายเลขลำดับที่สร้างโดย SEQUENCE โดยใช้อาร์เรย์ของตัวเลขสุ่มที่สร้างโดยแรนดาร์เรย์

    โปรดทราบว่าสูตรง่ายๆ นี้สร้างรายการตัวเลขสุ่มที่ไม่ซ้ำกับ ขั้นตอนที่กำหนดไว้ล่วงหน้า หากต้องการข้ามข้อจำกัดนี้ ให้ใช้สูตรเวอร์ชันขั้นสูงที่อธิบายด้านล่าง

    สร้างรายการตัวเลขสุ่มที่ไม่มีรายการซ้ำ

    ใช้ได้เฉพาะใน Excel 365 และ Excel 2021 ที่รองรับไดนามิก อาร์เรย์

    ในการสร้างตัวเลขสุ่มใน Excel โดยไม่ซ้ำ ให้ใช้หนึ่งในสูตรทั่วไปด้านล่าง

    จำนวนเต็มสุ่ม :

    INDEX(UNIQUE( RANDARRAY( n ^2, 1, นาที , สูงสุด , TRUE)), ลำดับ( n ))

    ทศนิยมสุ่ม :

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SEQUENCE( n ))

    โดยที่:

    • N คือจำนวนของค่าที่จะสร้าง
    • ต่ำสุด เป็นค่าที่น้อยที่สุด
    • สูงสุด เป็นค่าสูงสุด

    ตัวอย่างเช่น ในการสร้างรายการของ 5 จำนวนเต็มสุ่ม ตั้งแต่ 1 ถึง 100 โดยไม่เกิดซ้ำ ให้ใช้สูตรนี้:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))

    หากต้องการสร้าง เลขทศนิยมแบบสุ่มที่ไม่ซ้ำกัน 5 ตัว ให้ใส่ FALSE ในอาร์กิวเมนต์สุดท้ายของ RANDARRAY หรือไม่ต้องใส่ค่านี้ อาร์กิวเมนต์:

    =INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))

    สูตรนี้ทำงานอย่างไร:

    ที่ fi ในตอนแรกสูตรอาจดูยุ่งยากเล็กน้อย แต่เมื่อมองใกล้ๆ ตรรกะของสูตรนั้นตรงไปตรงมามาก:

    • ฟังก์ชัน RANDARRAY สร้างอาร์เรย์ของตัวเลขสุ่มตามค่าต่ำสุดและค่าสูงสุดที่คุณระบุ เพื่อกำหนดว่าจะได้กี่ค่าสร้าง คุณเพิ่มจำนวนยูนิคที่ต้องการยกกำลัง 2 เนื่องจากอาร์เรย์ผลลัพธ์อาจไม่มีใครรู้ว่ามีกี่ตัวที่ซ้ำกัน คุณต้องระบุค่าอาร์เรย์ที่เพียงพอสำหรับ UNIQUE ให้เลือก ในตัวอย่างนี้ เราต้องการเพียง 5 หมายเลขสุ่มที่ไม่ซ้ำกัน แต่เราสั่งให้ RANDARRAY สร้าง 25 (5^2)
    • ฟังก์ชัน UNIQUE จะลบรายการที่ซ้ำกันทั้งหมดและ "ป้อน" อาร์เรย์ที่ไม่มีรายการซ้ำไปยัง INDEX
    • จากอาร์เรย์ที่ส่งโดย UNIQUE ฟังก์ชัน INDEX จะแยกค่า n ค่าแรกตามที่ระบุโดย SEQUENCE (ตัวเลข 5 ตัวในกรณีของเรา) เนื่องจากค่าต่างๆ อยู่ในลำดับสุ่มอยู่แล้ว จึงไม่สำคัญว่าค่าใดจะอยู่รอด

    หมายเหตุ สำหรับอาร์เรย์ที่มีขนาดใหญ่มาก สูตรนี้อาจทำงานช้าเล็กน้อย ตัวอย่างเช่น ในการรับรายการตัวเลขที่ไม่ซ้ำกัน 1,000 รายการเป็นผลลัพธ์สุดท้าย RANDARRAY จะต้องสร้างอาร์เรย์ของตัวเลขสุ่ม 1,000,000 หมายเลข (1,000^2) ภายใน ในสถานการณ์เช่นนี้ แทนที่จะเพิ่มกำลัง คุณสามารถคูณ n ด้วย เช่น 10 หรือ 20 โปรดทราบว่าอาร์เรย์ที่เล็กกว่าจะถูกส่งผ่านไปยังฟังก์ชัน UNIQUE (ค่าน้อยเมื่อเทียบกับจำนวนที่ต้องการ ของค่าสุ่มที่ไม่ซ้ำกัน) ยิ่งมีโอกาสมากขึ้นที่เซลล์ทั้งหมดในช่วงการรั่วไหลจะไม่เต็มไปด้วยผลลัพธ์

    สร้างช่วงของตัวเลขสุ่มที่ไม่ซ้ำใน Excel

    ใช้ได้เฉพาะใน Excel 365 และ Excel 2021 ที่สนับสนุนอาร์เรย์แบบไดนามิก

    หากต้องการสร้างช่วงของตัวเลขสุ่มที่ไม่มีซ้ำ คุณสามารถใช้สูตรนี้:

    INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( แถว , คอลัมน์ ))

    โดยที่:

    • n คือจำนวนเซลล์ที่จะเติม เพื่อหลีกเลี่ยงการคำนวณด้วยตนเอง คุณสามารถระบุเป็น (จำนวนแถว * จำนวนคอลัมน์) ตัวอย่างเช่น หากต้องการเติม 10 แถวและ 5 คอลัมน์ ให้ใช้ 50^2 หรือ (10*5)^2
    • แถว คือจำนวนแถวที่จะเติม
    • <12 คอลัมน์ คือจำนวนคอลัมน์ที่จะเติม
    • ต่ำสุด คือค่าต่ำสุด
    • สูงสุด คือค่าสูงสุด ค่า

    อย่างที่คุณสังเกตเห็น สูตรโดยทั่วไปจะเหมือนกับในตัวอย่างก่อนหน้า ข้อแตกต่างเพียงอย่างเดียวคือฟังก์ชัน SEQUENCE ซึ่งในกรณีนี้กำหนดทั้งจำนวนแถวและคอลัมน์

    ตัวอย่างเช่น หากต้องการเติมช่วง 10 แถวและ 3 คอลัมน์ด้วยตัวเลขสุ่มที่ไม่ซ้ำกันตั้งแต่ 1 ถึง 100 ให้ใช้ สูตรนี้:

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))

    และจะสร้างอาร์เรย์ของทศนิยมแบบสุ่มโดยไม่มีตัวเลขซ้ำ:

    ถ้าคุณต้องการจำนวนเต็ม ให้ตั้งค่าอาร์กิวเมนต์สุดท้ายของ RANDARRAY เป็น TRUE :

    =INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))

    วิธีสร้างตัวเลขสุ่มที่ไม่ซ้ำใน Excel 2019, 2016 และรุ่นก่อนหน้า

    เนื่องจากไม่มีเวอร์ชันอื่นนอกจาก Excel 365 และ 2021 รองรับอาร์เรย์แบบไดนามิก จึงไม่มีสิ่งใดที่กล่าวมาข้างต้น โซลูชันทำงานใน Excel เวอร์ชันก่อนหน้า อย่างไรก็ตาม นี่ไม่ได้หมายความว่าไม่มีทางออกเลย คุณจะต้องดำเนินการอีกสองสามขั้นตอน:

    1. สร้างรายการตัวเลขสุ่ม ขึ้นอยู่กับของคุณต้องการ ให้ใช้อย่างใดอย่างหนึ่ง:
      • ฟังก์ชัน RAND เพื่อสร้างทศนิยมแบบสุ่มระหว่าง 0 ถึง 1 หรือ
      • ฟังก์ชัน RANDBETWEEN เพื่อสร้างจำนวนเต็มแบบสุ่มในช่วงที่คุณระบุ

      อย่าลืมสร้างค่ามากกว่าที่คุณต้องการจริงๆ เพราะบางค่าจะซ้ำกันและคุณจะลบออกในภายหลัง

      สำหรับตัวอย่างนี้ เรากำลังสร้างรายการของจำนวนเต็มแบบสุ่ม 10 รายการระหว่าง 1 ถึง 20 โดย โดยใช้สูตรด้านล่าง:

      =RANDBETWEEN(1,20)

      ในการป้อนสูตรในหลายเซลล์ในครั้งเดียว ให้เลือกเซลล์ทั้งหมด (A2:A15 ในตัวอย่างของเรา) พิมพ์สูตรในแถบสูตรและ กด Ctrl + Enter หรือคุณสามารถป้อนสูตรในเซลล์แรกตามปกติ แล้วลากลงไปตามจำนวนเซลล์ที่ต้องการ

      อย่างไรก็ตาม ผลลัพธ์จะมีลักษณะดังนี้:

      ตามที่คุณต้องการ โปรดทราบว่าเราได้ป้อนสูตรในเซลล์ 14 เซลล์ แต่ในที่สุดเราต้องการเพียง 10 ตัวเลขสุ่มที่ไม่ซ้ำกัน

    2. เปลี่ยนสูตรเป็นค่า เนื่องจากทั้ง RAND และ RANDBETWEEN คำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงในเวิร์กชีต รายการตัวเลขสุ่มของคุณจะเปลี่ยนแปลงอย่างต่อเนื่อง เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น ใช้ วางแบบพิเศษ > ค่า เพื่อแปลงสูตรเป็นค่าตามที่อธิบายไว้ใน วิธีหยุดการคำนวณตัวเลขสุ่มใหม่

      เพื่อให้แน่ใจว่าคุณทำถูกต้อง เลือกหมายเลขใดก็ได้แล้วดูที่แถบสูตร ตอนนี้ควรแสดงค่า ไม่ใช่สูตร:

    3. ลบรายการที่ซ้ำกัน ที่จะมีมันเสร็จแล้ว เลือกตัวเลขทั้งหมด ไปที่กลุ่ม ข้อมูล > เครื่องมือข้อมูล แล้วคลิก ลบรายการที่ซ้ำกัน ในกล่องโต้ตอบ ลบรายการที่ซ้ำกัน ที่ปรากฏขึ้น เพียงคลิก ตกลง โดยไม่ต้องเปลี่ยนแปลงอะไร สำหรับขั้นตอนโดยละเอียด โปรดดูวิธีลบรายการที่ซ้ำกันใน Excel

    เสร็จแล้ว! รายการที่ซ้ำกันทั้งหมดหายไปแล้ว และตอนนี้คุณสามารถลบตัวเลขที่เกินได้

    เคล็ดลับ แทนที่จะใช้เครื่องมือในตัวของ Excel คุณสามารถใช้ Duplicate Remover ขั้นสูงของเราสำหรับ Excel

    วิธีหยุดการเปลี่ยนแปลงตัวเลขสุ่ม

    ฟังก์ชันการสุ่มทั้งหมดใน Excel รวมถึง RAND, RANDBETWEEN และ RANDARRAY มีความผันผวน หมายความว่าจะคำนวณใหม่ทุกครั้งที่สเปรดชีตมีการเปลี่ยนแปลง ด้วยเหตุนี้ ค่าสุ่มใหม่จึงถูกสร้างขึ้นทุกครั้งที่มีการเปลี่ยนแปลง หากต้องการป้องกันไม่ให้สร้างหมายเลขใหม่โดยอัตโนมัติ ให้ใช้การวางแบบพิเศษ > คุณลักษณะค่าเพื่อแทนที่สูตรด้วยค่าคงที่ มีวิธีการดังนี้:

    1. เลือกเซลล์ทั้งหมดที่มีสูตรสุ่มของคุณ แล้วกด Ctrl + C เพื่อคัดลอกเซลล์เหล่านั้น
    2. คลิกขวาที่ช่วงที่เลือก แล้วคลิก วางแบบพิเศษ > ค่า หรือคุณสามารถกด Shift + F10 แล้วตามด้วย V ซึ่งเป็นทางลัดสำหรับตัวเลือกนี้

    สำหรับขั้นตอนโดยละเอียด โปรดดูวิธีเปลี่ยนสูตรเป็นค่าใน Excel

    ตัวสร้างตัวเลขสุ่มสำหรับ Excel ที่ไม่มีการทำซ้ำ

    ผู้ใช้ Ultimate Suite ของเราไม่ต้องการวิธีแก้ปัญหาใดๆ ข้างต้นเพราะพวกเขามีตัวสร้างสุ่มสากลใน Excel อยู่แล้ว เครื่องมือนี้สามารถสร้างรายการจำนวนเต็ม ตัวเลขทศนิยม วันที่ และรหัสผ่านที่ไม่ซ้ำกันได้อย่างง่ายดาย มีวิธีการดังนี้:

    1. บนแท็บ Ablebits Tools คลิก สุ่ม > เครื่องสร้างแบบสุ่ม .
    2. เลือก ช่วงที่จะเติมด้วยตัวเลขสุ่ม
    3. ในบานหน้าต่าง ตัวสร้างสุ่ม ให้ทำดังต่อไปนี้:
      • เลือกประเภทค่าที่ต้องการ: จำนวนเต็ม จำนวนจริง วันที่ บูลีน รายการที่กำหนดเอง หรือสตริง (เหมาะอย่างยิ่งสำหรับการสร้างรหัสผ่านที่ไม่ซ้ำใคร!)
      • ตั้งค่า จาก และ ถึง
      • เลือก ค่าที่ไม่ซ้ำกัน กล่องกาเครื่องหมาย
      • คลิก สร้าง .

    นั่นแหละ! ช่วงที่เลือกจะเต็มไปด้วยตัวเลขสุ่มที่ไม่ซ้ำในคราวเดียว:

    หากคุณสงสัยที่จะลองใช้เครื่องมือนี้และสำรวจคุณสมบัติที่น่าสนใจอื่นๆ ที่รวมอยู่ใน Ultimate Suite ของเรา คุณสามารถดาวน์โหลดรุ่นทดลองได้

    นั่นคือวิธีการสุ่มตัวเลขใน Excel โดยไม่ซ้ำกัน ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!

    แบบฝึกหัดสำหรับดาวน์โหลดสมุดงาน

    สร้างตัวเลขสุ่มที่ไม่ซ้ำกันใน Excel (ไฟล์ .xlsx)

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้