ในการนับจำนวนคำทั้งหมดในเซลล์ คุณสามารถใช้สูตรโดยยึดตาม เลน และ ทดแทน ด้วยความช่วยเหลือจาก ฟังก์ชัน TRIM . ในตัวอย่างที่แสดง สูตรในเซลล์ C5 ที่คัดลอกลงมาคือ:
= LEN ( TRIM (A1))- LEN ( SUBSTITUTE (A1,' ',''))+1
สูตรจะส่งกลับจำนวนคำในเซลล์ B5
แทรกเส้นแบบประกายไฟในช่วง g4: g7 โดยใช้ข้อมูลสำหรับห้าปีในช่วง b4: f7คำอธิบาย
Excel ไม่มีฟังก์ชันเฉพาะสำหรับการนับคำในเซลล์ อย่างไรก็ตาม ด้วยความเฉลียวฉลาดเพียงเล็กน้อย คุณสามารถสร้างสูตรดังกล่าวได้โดยใช้ฟังก์ชัน SUBSTITUTE และ LEN ด้วยความช่วยเหลือจาก TRIM ดังที่แสดงในตัวอย่าง ในระดับสูง สูตรนี้ใช้ฟังก์ชัน LEN เพื่อนับจำนวนอักขระในเซลล์ โดยมีและไม่มีช่องว่าง จากนั้นจึงใช้ผลต่างเพื่อคำนวณจำนวนคำ วิธีนี้ได้ผล เพราะจำนวนคำเท่ากับจำนวนช่องว่าง + 1 ตราบใดที่แต่ละคำมีช่องว่างหนึ่งช่อง
ส่วนแรกของสูตรจะนับอักขระในเซลล์ B5 หลังจากลบช่องว่างเพิ่มเติม:
= LEN ( TRIM (B5))- LEN ( SUBSTITUTE (B5,' ',''))+1
ภายใน LEN, the ฟังก์ชัน TRIM ขั้นแรกให้ลบช่องว่างพิเศษระหว่างคำ หรือที่จุดเริ่มต้นหรือจุดสิ้นสุดของข้อความ นี่เป็นสิ่งสำคัญเนื่องจากการเว้นวรรคเพิ่มเติมจะทำให้การนับคำหายไป ในกรณีนี้ จะไม่มีอักขระเว้นวรรค ดังนั้น TRIM จะส่งกลับข้อความต้นฉบับโดยตรงไปยัง ฟังก์ชัน LEN ซึ่งส่งคืน 30:
= LEN ( TRIM (B5)) // normalize space, count characters
ณ จุดนี้เรามี:
LEN ('All Quiet on the Western Front') // returns 30
ต่อไปเราใช้ ฟังก์ชัน SUBSTITUTE เพื่อลบอักขระเว้นวรรคทั้งหมดออกจากข้อความ:
=30- LEN ( SUBSTITUTE (B5,' ',''))+1
ข้อสังเกต SUBSTITUTE ได้รับการกำหนดค่าให้ค้นหาอักขระเว้นวรรค (' ') และแทนที่ด้วย an สตริงว่าง (''). โดยค่าเริ่มต้น SUBSTITUTE จะแทนที่ ทั้งหมด ช่องว่าง ผลลัพธ์จะถูกส่งตรงไปยังฟังก์ชัน LEN ซึ่งจะคืนค่าจำนวน:
ให้แถวบนสุดมองเห็นได้ใน excel
SUBSTITUTE (B5,' ','') // strip all space
LEN คืนค่า 25 จำนวนอักขระที่เหลือ หลังจากที่พื้นที่ทั้งหมดถูกลบออก . ตอนนี้เราสามารถลดความซับซ้อนของสูตรเป็น:
LEN ('AllQuietontheWesternFront') // returns 25
ซึ่งคืนค่า 6 เป็นผลลัพธ์สุดท้าย จำนวนคำในเซลล์ B5
จัดการกับเซลล์ว่าง
สูตรในตัวอย่างจะส่งกลับ 1 แม้ว่าเซลล์จะว่างหรือมีช่องว่างเท่านั้น สิ่งนี้เกิดขึ้นเพราะเรากำลังเพิ่ม 1 อย่างไม่มีเงื่อนไข หลังจากนับอักขระช่องว่างระหว่างคำ เพื่อป้องกันปัญหานี้ คุณสามารถปรับสูตรดังแสดงด้านล่าง:
=30-25+1 // returns 6
สังเกตว่าเราได้แทนที่ 1 ด้วยนิพจน์นี้:
วิธีการแยกตัวเลขจากเซลล์ใน excel
= LEN ( TRIM (B5))- LEN ( SUBSTITUTE (B5,' ',''))+( LEN ( TRIM (B5))>0)
รหัสนี้ตัดแต่ง B5 ก่อน จากนั้นตรวจสอบความยาว ถ้า B5 มีข้อความ LEN จะส่งกลับจำนวนบวก และนิพจน์จะส่งกลับ TRUE ถ้า B5 ว่างเปล่าหรือมีเพียงช่องว่าง TRIM จะส่งกลับสตริงว่าง ('') ไปยัง LEN ในกรณีนั้น LEN จะส่งกลับค่าศูนย์ (0) และนิพจน์จะส่งกลับค่า FALSE เคล็ดลับคือ TRUE และ FALSE จะประเมินค่าเป็น 1 และ 0 ตามลำดับ เมื่อเกี่ยวข้องกับการดำเนินการทางคณิตศาสตร์ใดๆ ด้วยเหตุนี้ นิพจน์จะเพิ่มเพียง 1 เมื่อมีข้อความใน B5 มิฉะนั้นจะเพิ่มศูนย์ (0) ตรรกะนี้สามารถเขียนด้วย ฟังก์ชัน IF คำสั่งเช่นนี้:
LEN ( TRIM (B5))>0
และผลลัพธ์ก็จะเหมือนกัน สำนวนข้างต้นนั้นกระชับกว่า
เอกสารแนบ นับจำนวนคำทั้งหมดใน cell.xlsx ผู้เขียน Dave Bruns