ใน Excel สามารถเรียงลำดับตัวอักษรและตัวเลขจาก a-1, a-2, a-3 ... a-123 แทน a-1, a-10, a-100, a-11 หรือไม่?
เรียงลำดับจากเก่าไปใหม่หรือผ่าน AZ แน่นอนจะไม่ให้ผลลัพธ์ที่ฉันต้องการ ฉันพยายามจัดรูปแบบเซลล์เป็นตัวเลข แต่ไม่ได้ผล
ผมติดอยู่.
ใน Excel สามารถเรียงลำดับตัวอักษรและตัวเลขจาก a-1, a-2, a-3 ... a-123 แทน a-1, a-10, a-100, a-11 หรือไม่?
เรียงลำดับจากเก่าไปใหม่หรือผ่าน AZ แน่นอนจะไม่ให้ผลลัพธ์ที่ฉันต้องการ ฉันพยายามจัดรูปแบบเซลล์เป็นตัวเลข แต่ไม่ได้ผล
ผมติดอยู่.
คำตอบ:
User @ fixer1234 ถูกต้องคุณอาจต้องการใช้ฟังก์ชันสตริง นี่คือวิธีหนึ่งในการทำเช่นนั้น
[Updated]
ในคอลัมน์ "ตัวเลข" เน้นช่วงแล้วแยกข้อความที่เครื่องหมายยัติภังค์: do ...
Data
> Text to Columns
> Delimited
> Next
> Other: -
>Finish
ขอให้สังเกตว่าคุณต้องการยัติภังค์ ( - ) ในOther:
กล่องข้อความ และตรวจสอบให้แน่ใจว่าคอลัมน์ที่อยู่ติดกัน (ทางด้านขวา) ว่างเปล่าก่อนที่คุณจะทำเช่นนี้เพื่อที่คุณจะไม่เขียนทับข้อมูลสำคัญ
คุณสามารถใช้ฟังก์ชั่นนี้เพื่อแยกจำนวนจากคอลัมน์ A:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
ทีนี้สิ่งที่เรากำลังจะทำในขั้นตอนต่อไปอย่างที่คุณสามารถบอกได้จากสกรีนช็อตข้างต้นคือเติมศูนย์ไปที่จุดเริ่มต้นของตัวเลขแต่ละตัวที่มีตัวเลขน้อยกว่าจำนวนมากที่สุด ซึ่งจะช่วยให้คุณสามารถเรียงลำดับตัวเลขเหล่านี้ในแบบที่คุณต้องการ
แต่ก่อนอื่นเราต้องทำการค้นหาข้อเท็จจริง หากคุณสามารถบอกได้อย่างง่ายดายว่าจำนวนที่มากที่สุดคืออะไรให้นับจำนวนหลักในจำนวนที่มากที่สุดนั่นคือจำนวนศูนย์ที่คุณต้องการใช้ในฟังก์ชันถัดไปของเรา มีวิธีอื่นในการกำหนดหมายเลขที่ยาวที่สุดโดยไม่ต้องนับตัวเลขของหมายเลขที่ใหญ่ที่สุดด้วยตนเอง
[อัพเดท]คุณสามารถใช้ฟังก์ชั่นต่อไปนี้ (ถึงตอนนี้เรายัง ไม่รู้ว่าทำไม ) เพื่อกำหนดจำนวนที่ยาวที่สุด:
=MAX(INDEX(LEN(C2:C14),,1))
หรือคุณก็สามารถพิมพ์สูตรต่อไปลงในเซลล์ (ที่คุณเห็นในภาพด้านบนเป็นเซลล์ที่ไฮไลต์สีส้ม) แต่แทนที่จะกดปุ่มของคุณที่สำคัญในการตั้งค่ามือถือตีฮอตENTER
CTRL-SHIFT-ENTER
นี้จะเปลี่ยนลักษณะของฟังก์ชั่นที่เปลี่ยนมันเป็นสูตรอาร์เรย์INDEX()
โดยไม่ต้องของเล่นที่มีฟังก์ชั่นเช่น
=MAX(LEN(C2:C14))
(ตรวจสอบให้แน่ใจว่าช่วงนั้นถูกต้องสำหรับสเปรดชีตเฉพาะที่คุณใช้)
หลังจากที่คุณเข้าชมCTRL-SHIFT-ENTER
เนื้อหาของเซลล์จะเปลี่ยนเป็นสิ่งนี้ แต่การพิมพ์ด้วยตนเองจะไม่ทำอะไรเลย:
{=MAX(LEN(C2:C14))}
อย่างไรก็ตามคุณต้องการที่จะทำมันเป็นเรื่องปกติ เพียงกำหนดจำนวนหลักที่ทำขึ้นจำนวนมากที่สุดในรายการของคุณ: "1" แน่นอนมี 1 หลัก, "10" มี 2 หลัก, "100" มี 3 หลักและอื่น ๆ
สุดท้ายในคอลัมน์ "ขยาย" ฟังก์ชั่นนี้จะแปลงตัวเลขจากคอลัมน์ "ตัวเลข" เป็นข้อความที่มีจำนวนศูนย์ก่อนหน้าที่คุณกำหนดว่าคุณควรใช้ในขั้นตอนที่ 2
=TEXT(C2,"000")
ตรวจสอบให้แน่ใจว่าคุณใส่เครื่องหมายคำพูดล้อมรอบศูนย์
หากตัวเลขที่ใหญ่ที่สุดมี 8 หลักฟังก์ชันของคุณจะเป็นดังนี้:
=TEXT(C2,"00000000")
วิธีแก้ไขง่ายๆคือการใช้ฟังก์ชันสตริงเพื่อใส่ค่าตัวเลขในคอลัมน์ใหม่เป็นตัวเลข จากนั้นเรียงลำดับในคอลัมน์นั้น คุณไม่ได้ระบุค่าที่อาจแตกต่างหรือวิธีการจัดเรียง แต่ตัวอย่าง:
สมมติว่าคำนำหน้า "a-" ไม่เคยเปลี่ยนแปลงรายการอยู่ใน col A เริ่มต้นในแถว 2 และ col B พร้อมใช้งาน ใน B2 คุณจะใส่สิ่งที่ต้องการ: = ค่า (กลาง (a2,3, len (a2) -2)) แล้วคัดลอกสูตรตามต้องการ ในการจัดเรียงให้เน้นทั้งสองคอลัมน์และเรียงลำดับบน B
หากสามารถมีคำนำหน้าอื่น ๆ พูด b-, c- ฯลฯ แยกส่วนข้อความในคอลัมน์อื่น จากนั้นเรียงลำดับในคอลัมน์ข้อความเป็นคอลัมน์เรียงลำดับแรกและคอลัมน์ตัวเลขเป็นคอลัมน์ที่สอง
ทุกสิ่งที่คุณเน้นจะถูกจัดเรียงตามคอลัมน์เรียงลำดับ
เพื่ออธิบายฟังก์ชั่นสตริงเริ่มต้นด้วยฟังก์ชั่นกลางซึ่งแยกสตริงของตัวละครจากภายในสตริงของตัวละคร mid (a2,3, len (a2) -2) ดูข้อความใน a2 เริ่มต้นด้วยอักขระที่สาม (ตัวเลขแรกที่สมมติว่าคำนำหน้าทั้งหมดคือ "a-") จากนั้นใช้จำนวนอักขระที่เป็น น้อยกว่าตัวเลขสองตัวในข้อความต้นฉบับ (ความยาวของข้อความต้นฉบับลบด้วยอักขระ "a-") ฟังก์ชันค่าจะเปลี่ยนผลลัพธ์นั้นเป็นตัวเลขแทนที่จะเป็นสตริงของอักขระที่เป็นตัวเลข
ฉันมีข้อมูลต่อไปนี้:
[Student Name] [Regn. No (AlphaNum)] [Test Score]
Lisa DD38 90
Aletta BC36 85
Ava AB40 95
Sunny BB34 91
Sofia CD36 89
Johnny CM07 80
ฉันต้องการให้นักเรียนและเครื่องหมายถูกเรียงตามหมายเลขลงทะเบียนซึ่งเป็นสตริงตัวอักษรและตัวเลข ผลลัพธ์สุดท้ายควรเป็นดังนี้:
[Student Name] [Regn. No (AlphaNum)] [Test Score]
Ava AB40 95
Sunny BB34 91
Aletta BC36 85
Sofia CD36 89
Johnny CM07 80
Lisa DD38 90
ทำอย่างไร:
แม้ว่าสแนปชอตข้างบนนั้นชัดเจนในตัวเอง แต่ขั้นตอนดังต่อไปนี้:
สารสกัดจากส่วนที่ตัวอักษรในคอลัมน์โดยใช้=LEFT(B4, 2)
สูตรที่ '2' B4
แสดงให้เห็นว่าจำนวนของตัวอักษรในสตริงและสตริงของฉันเริ่มต้นจาก
กำหนดตัวเลขให้กับส่วนที่เป็นตัวอักษรนี้โดยใช้ =COLUMN(INDIRECT(E4&1))
แยกส่วนที่เป็นตัวเลขของหมายเลขการลงทะเบียนโดยใช้=RIGHT(B4,2)
เป็นสูตร ที่นี่ '2' คือหมายเลข ของตัวเลขในสตริง
ต่อสองส่วนเข้าด้วยกันใน 2 และ 3
แปลงให้เป็นตัวเลข 'บริสุทธิ์' โดยใช้ =VALUE(H4)
คัดลอกคอลัมน์สุดท้ายไปยังตารางต้นฉบับและใช้ตัวเลือกวางเป็น 'ค่า'
ตอนนี้จัดเรียงตามคอลัมน์สุดท้ายแล้วเลือก 'ขยายการเลือก'
เสร็จสิ้น !!!
สำคัญ: Pro-Tip -> รวมขั้นตอนตั้งแต่ 1 ถึง 5 โดยใช้ =VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))