Note: The other languages of the website are Google-translated. Back to English
English English

จะแยกอักษรตัวแรกของแต่ละคำออกจากเซลล์ได้อย่างไร?

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

doc-extract-อักษรตัวแรก1

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

 

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

 


ลูกศรสีฟ้าฟองขวาแยกอักษรตัวแรกของแต่ละคำออกจากเซลล์ด้วยฟังก์ชันที่ผู้ใช้กำหนด

 


 

ใน Excel คุณสามารถสร้างไฟล์ ฟังก์ชันที่ผู้ใช้กำหนด เพื่อแยกตัวอักษรตัวแรกของทุกคำในเซลล์ กรุณาทำตามนี้:

1. กด ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic for Applications.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล. </ p>

Function GetFirstLetters(rng As Range) As String
'Update 20140325
    Dim arr
    Dim I As Long
    arr = VBA.Split(rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
        Next I
    Else
        GetFirstLetters = Left(arr, 1)
    End If
End Function

3. จากนั้นบันทึกและปิดรหัสนี้กลับไปที่แผ่นงานและป้อนสูตรนี้ = GetFirstLetters (A2) (A2 ระบุเซลล์ที่คุณต้องการแยกตัวอักษรตัวแรกคุณสามารถเปลี่ยนได้ตามต้องการ) ลงในเซลล์ว่าง ดูภาพหน้าจอ:

doc-extract-อักษรตัวแรก1

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

doc-extract-อักษรตัวแรก1


บทความที่เกี่ยวข้อง:

วิธีแยกคำแรก / สุดท้าย / ที่ n จากสตริงข้อความใน Excel

 


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab

 

 

จัดเรียงความคิดเห็นโดย
ความคิดเห็น (16)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการทราบวิธีการแปลงวันที่เป็นข้อความ ตัวอย่างเช่น 11.02.1998 เป็น Eleven กุมภาพันธ์ สิบเก้า เก้าสิบแปด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณที่ดีที่สุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก.. มันใช้งานได้ .. u rocks
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีประโยชน์มาก สิ่งที่ฉันเป็นหลังจาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
โปรดรวมส่วนนี้ด้วย: หากคุณสร้างฟังก์ชันชื่อ DISCOUNT ในเวิร์กบุ๊กชื่อ Personal.xlsb และคุณเรียกใช้ฟังก์ชันนั้นจากเวิร์กบุ๊กอื่น คุณต้องพิมพ์ =personal.xlsb!discount() ไม่ใช่แค่ =discount() https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันคิดว่ามันมีข้อบกพร่องอยู่หนึ่งข้อ มันจะถูกลบออกจากโมดูลโดยอัตโนมัติเมื่อชีตถูกปิด จำเป็นต้องทำอีกครั้งทุกครั้งที่ต้องใช้กระบวนการเปิดชีตเดียวกัน โปรดแนะนำวิธีบันทึกสูตรนี้ใน excel อย่างถาวร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
กรุณาบันทึก excel เป็นสมุดงาน Excel Macro-Enablel
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Подскажите пожалуйста, можно ли модифицировать код чтобы забиралась не первые а Заглавные буквы?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้เหมาะสำหรับคำไม่เกินห้าคำ โดยที่ D20 เป็นเซลล์ที่มีข้อมูล



=IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",
$D$20)+1)+1)+1)+1,1)),IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
IF(ISERR(LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)),
ถ้า(ISERR(LEFT($D$20,1)),"",LEFT($D$20,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)),LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)),
LEFT($D$20,1)&MID($D$20,SEARCH(" ",$D$20)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)),LEFT($D$20,1)
&MID($D$20,SEARCH(" ",$D$20)+1,1)&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)+1)+1,1)
&MID($D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20,SEARCH(" ",$D$20)+1)
+1)+1)+1,1))
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่มันเจ๋งมาก. ประหยัดเวลาแบบนี้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เหตุใดจึงให้ตัวอักษร 2 ตัวแรกในแต่ละคำ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
จะสร้างช่องว่างระหว่างตัวอักษรได้อย่างไร?

เกาหลีใต้ = SK
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ Gyawali
หากคุณต้องการเพิ่มพื้นที่สำหรับอักขระแต่ละตัว โปรดใช้โค้ด VBA ต่อไปนี้:
Function GetFirstLetters(Rng As Range) As String
'Updateby Extendoffice
    Dim xStr
    Dim arr
    Dim I As Long
    xStr = " "
    arr = VBA.Split(Rng, " ")
    If IsArray(arr) Then
        For I = LBound(arr) To UBound(arr)
            GetFirstLetters = GetFirstLetters & Left(arr(I), 1) & xStr
        Next I
    Else
        GetFirstLetters = Left(arr, 1) & xStr
    End If
End Function


หลังจากใส่รหัสแล้วใช้สูตรนี้: = GetFirstLetters (A2) เพื่อให้ได้ผลลัพธ์ที่คุณต้องการ
โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สงสัยว่าจะเพิ่มสิ่งนี้ลงในสูตรที่มีอยู่ของฉันได้อย่างไรเพื่อนำค่ามาจากเซลล์ในชีตอื่น ฉันเพียงต้องการนำอักขระตัวแรกในแต่ละเซลล์มาแทน นี่คือสูตร

=IF(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D))=ROW(OriginalSubmission!D4),"",INDIRECT("OriginalSubmission!D5:"& "D"&(LOOKUP(2,1/(OriginalSubmission!D:D<>""),ROW(OriginalSubmission!D:D)))))
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีค่ะ คุณ SARAH
คุณหมายถึงการแยกอักขระตัวแรกในเซลล์ออกจากแผ่นงานอื่นหรือไม่? ถ้าใช่ คุณเพียงแค่ต้องคัดลอกและวางโค้ดในบทความนี้ จากนั้นใช้สูตรนี้ในชีตอื่น
=GetFirstLetters(OriginalSubmission!D4)


หมายเหตุ: ส่งต้นฉบับ เป็นชื่อชีตที่คุณต้องการแยกตัวอักษรออกมา
โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คำแนะนำอื่นหากใช้ Microsoft 365: =TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)) โดยที่สตริงต้นทางอยู่ใน B9
ตัดในฟังก์ชัน UPPER เพื่อบังคับใช้ตัวพิมพ์ใหญ่: =UPPER(TEXTJOIN("",,LEFT(TEXTSPLIT(D9," "),1)))
@Pradeep Gyawali -> เพิ่มช่องว่าง: =UPPER(TEXTJOIN(" ",,LEFT(TEXTSPLIT(D9," "),1)))
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ