วิธีแปลงหมายเลขคอลัมน์ของ Excel เป็นตัวอักษร

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

ในบทช่วยสอนนี้ เราจะดูวิธีเปลี่ยนหมายเลขคอลัมน์ของ Excel เป็นอักขระตัวอักษรที่สอดคล้องกัน

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

    วิธีแปลงหมายเลขคอลัมน์เป็นตัวอักษร (คอลัมน์ตัวอักษรเดี่ยว)

    ในกรณี ชื่อคอลัมน์ประกอบด้วยตัวอักษรตัวเดียว จาก A ถึง Z คุณสามารถหาได้โดยใช้สูตรอย่างง่ายนี้:

    CHAR(64 + col_number)

    ตัวอย่างเช่น หากต้องการแปลงเลข 10 เป็น ตัวอักษรประจำคอลัมน์ สูตรคือ:

    =CHAR(64 + 10)

    คุณยังสามารถป้อนตัวเลขในบางเซลล์และอ้างถึงเซลล์นั้นในสูตรของคุณ:

    =CHAR(64 + A2)

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

    ฟังก์ชัน CHAR ส่งคืนอักขระตามรหัสอักขระในชุด ASCII ค่า ASCII ของตัวอักษรพิมพ์ใหญ่ของตัวอักษรภาษาอังกฤษคือ 65 (A) ถึง 90 (Z) ดังนั้น เพื่อให้ได้รหัสอักขระของตัวพิมพ์ใหญ่ A คุณต้องเพิ่ม 1 ถึง 64; ในการรับรหัสอักขระของตัวพิมพ์ใหญ่ B ให้บวก 2 ถึง 64 และอื่น ๆ

    วิธีแปลงหมายเลขคอลัมน์ของ Excel เป็นตัวอักษร (คอลัมน์ใดก็ได้)

    หากคุณกำลังมองหาอเนกประสงค์ สูตรที่ใช้กับคอลัมน์ใดก็ได้ใน Excel (1 ตัวอักษร 2 ตัวอักษร และ 3 ตัวอักษร) คุณจะต้องใช้ไวยากรณ์ที่ซับซ้อนขึ้นเล็กน้อย:

    SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1", "")

    กับตัวอักษรคอลัมน์ใน A2 สูตรจะอยู่ในรูปแบบนี้:

    =SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")

    วิธีการทำงานของสูตรนี้:

    ขั้นแรก คุณสร้างที่อยู่เซลล์ด้วยหมายเลขคอลัมน์ที่สนใจ สำหรับสิ่งนี้ ให้ระบุอาร์กิวเมนต์ต่อไปนี้ให้กับฟังก์ชัน ADDRESS:

    • 1 สำหรับ row_num (หมายเลขแถวไม่สำคัญ ดังนั้นคุณสามารถใช้อะไรก็ได้)
    • A2 (เซลล์ที่มีหมายเลขคอลัมน์) สำหรับ column_num .
    • 4 สำหรับ abs_num อาร์กิวเมนต์เพื่อส่งกลับการอ้างอิงแบบสัมพัทธ์

    ด้วยพารามิเตอร์ข้างต้น ฟังก์ชัน ADDRESS จะส่งคืนสตริงข้อความ "A1" เป็นผลลัพธ์

    เนื่องจากเราต้องการเพียงตัวอักษรประจำคอลัมน์ เราจึงตัดหมายเลขแถวออกโดยใช้ฟังก์ชัน SUBSTITUTE ซึ่งค้นหา "1" (หรือหมายเลขแถวใดก็ตามที่คุณฮาร์ดโค้ดไว้ในฟังก์ชัน ADDRESS) ในข้อความ "A1" และแทนที่ด้วยสตริงว่าง ("")

    รับตัวอักษรประจำคอลัมน์จากหมายเลขคอลัมน์โดยใช้ฟังก์ชันแบบกำหนดเอง ฟังก์ชันที่กำหนดเอง

    หากคุณต้องการแปลงหมายเลขคอลัมน์เป็นตัวอักษรเป็นประจำ ฟังก์ชันที่ผู้ใช้กำหนดเอง (UDF) จะช่วยประหยัดเวลาของคุณได้อย่างมาก

    โค้ดของฟังก์ชันนั้นค่อนข้างดี เรียบง่ายและตรงไปตรงมา:

    Public Function ColumnLetter(col_nu m) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End Function

    ที่นี่ เราใช้คุณสมบัติ เซลล์ เพื่ออ้างถึงเซลล์ในแถวที่ 1 และ หมายเลขคอลัมน์ที่ระบุและคุณสมบัติ Address เพื่อส่งคืน aสตริงที่มีการอ้างอิงแบบสัมบูรณ์ไปยังเซลล์นั้น (เช่น $A$1) จากนั้น ฟังก์ชัน Split จะแบ่งสตริงที่ส่งคืนออกเป็นองค์ประกอบแต่ละรายการโดยใช้เครื่องหมาย $ เป็นตัวคั่น และเราจะส่งคืนองค์ประกอบ (1) ซึ่งเป็นตัวอักษรประจำคอลัมน์

    วางโค้ดในโปรแกรมแก้ไข VBA และของคุณ ฟังก์ชัน ColumnLetter ใหม่พร้อมใช้งานแล้ว สำหรับคำแนะนำโดยละเอียด โปรดดูที่: วิธีแทรกโค้ด VBA ใน Excel

    จากมุมมองของผู้ใช้ปลายทาง ไวยากรณ์ของฟังก์ชันมีความเรียบง่ายดังนี้:

    ColumnLetter(col_num)

    Where col_num คือหมายเลขคอลัมน์ที่คุณต้องการแปลงเป็นตัวอักษร

    สูตรจริงของคุณสามารถมีลักษณะดังนี้:

    =ColumnLetter(A2)

    และจะคืนค่า ผลลัพธ์เหมือนกันทุกประการกับฟังก์ชันดั้งเดิมของ Excel ที่กล่าวถึงในตัวอย่างก่อนหน้านี้:

    วิธีรับตัวอักษรประจำคอลัมน์ของเซลล์บางเซลล์

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

    SUBSTITUTE(ADDRESS(1, COLUMN( cell_address), 4), "1", "")

    ตามตัวอย่าง ลองหาตัวอักษรประจำคอลัมน์ ของเซลล์ C5:

    =SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")

    เห็นได้ชัดว่าผลลัพธ์คือ "C" :)

    วิธีรับตัวอักษรประจำคอลัมน์ของปัจจุบัน เซลล์

    ในการหาตัวอักษรของเซลล์ปัจจุบัน สูตรเกือบจะเหมือนกับในตัวอย่างข้างต้น ข้อแตกต่างเพียงอย่างเดียวคือฟังก์ชัน COLUMN() คือใช้กับอาร์กิวเมนต์ว่างเพื่ออ้างถึงเซลล์ที่มีสูตร:

    =SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")

    วิธีสร้างการอ้างอิงช่วงไดนามิกจากหมายเลขคอลัมน์

    หวังว่าตัวอย่างก่อนหน้านี้จะให้แนวคิดใหม่ๆ แก่คุณ แต่คุณอาจสงสัยเกี่ยวกับการใช้งานจริง

    ในตัวอย่างนี้ เราจะแสดงวิธีใช้ "หมายเลขคอลัมน์เป็นตัวอักษร " สูตรสำหรับการแก้ปัญหางานในชีวิตจริง โดยเฉพาะอย่างยิ่ง เราจะสร้างสูตร XLOOKUP แบบไดนามิกที่จะดึงค่าจากคอลัมน์เฉพาะตามจำนวน

    จากตารางตัวอย่างด้านล่าง สมมติว่าคุณต้องการรับตัวเลขกำไรสำหรับโครงการที่กำหนด (H2 ) และสัปดาห์ (H3)

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

    เพื่อความสะดวก เราจะแยกย่อยกระบวนการทั้งหมด เป็น 3 ขั้นตอนง่ายๆ

    1. แปลงหมายเลขคอลัมน์เป็นตัวอักษร

      ด้วยหมายเลขคอลัมน์ใน H3 ใช้สูตรที่คุ้นเคยเพื่อเปลี่ยนเป็นตัวอักษร ตัวอักษร:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")

      เคล็ดลับ หากตัวเลขในชุดข้อมูลของคุณไม่ตรงกับหมายเลขคอลัมน์ อย่าลืมแก้ไขให้ถูกต้อง ตัวอย่างเช่น ถ้าเรามีข้อมูลสัปดาห์ที่ 1 ในคอลัมน์ B ข้อมูลสัปดาห์ที่ 2 ในคอลัมน์ C และต่อไป เราจะใช้ H3+1 เพื่อให้ได้หมายเลขคอลัมน์ที่ถูกต้อง

    2. สร้างสตริงที่แสดงการอ้างอิงช่วง

      หากต้องการสร้างการอ้างอิงช่วงในรูปแบบของสตริง ให้คุณต่อตัวอักษรคอลัมน์ที่ส่งกลับโดยสูตรด้านบนกับตัวแรก และหมายเลขแถวสุดท้าย ในกรณีของเรา เซลล์ข้อมูลอยู่ในแถวที่ 3 ถึง 8 เราจึงใช้สูตรนี้:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"

      เนื่องจาก H3 มี "3" ซึ่งแปลงเป็น "C" สูตรของเราผ่านการเปลี่ยนแปลงต่อไปนี้:

      ="C"&"3:"&"C"&"8"

      และสร้างสตริง C3:C8

    3. Make การอ้างอิงช่วงไดนามิก

      เมื่อต้องการแปลงสตริงข้อความเป็นการอ้างอิงที่ถูกต้องซึ่ง Excel สามารถเข้าใจได้ ให้ซ้อนสูตรข้างต้นในฟังก์ชัน INDIRECT แล้วส่งต่อไปยังอาร์กิวเมนต์ที่ 3 ของ XLOOKUP:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")

      หากต้องการกำจัดเซลล์พิเศษที่มีสตริงช่วงส่งคืน คุณสามารถวางสูตร SUBSTITUTE ADDRESS ภายในฟังก์ชัน INDIRECT เอง:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")

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

    =XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")

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

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

    หมายเลขคอลัมน์ Excel เป็นตัวอักษร - ตัวอย่าง (ไฟล์ .xlsm)

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