สูตร Excel นับคำซ้ำในประโยค

Excel มีฟังก์ชั่นนับคำซ้ำในประโยคไหมครับ?

เช่น อยากนับคำว่า “ที่” จากประโยค

“สถานที่ที่เราควรเดินทางไปควรจะเป็นที่ที่เราสนใจ”

คำตอบที่ต้องการคือ 4

counttextoccurencesinstring_161101

ผมได้รับคำถามนี้จากแฟนเพจท่านหนึ่ง คิดว่าบางคนอาจเจอปัญหาเดียวกัน ขอตอบด้วยบทความนี้ครับ ^__^

น่าเสียดาย..ที่เอ็กเซลไม่มีฟังก์ชั่นนับคำซ้ำในประโยค

แต่ไม่ได้แปลว่า เอ็กเซลนับคำซ้ำในประโยคไม่ได้!

ต้อง “เล่นแร่แปรธาตุ” กันนิดนึง ^__^

สมมติประโยค “สถานที่ที่เราควรเดินทางไปควรจะเป็นที่ที่เราสนใจ” อยู่ในเซลล์ A1

สูตรที่เราใช้นับคำว่า “ที่”จากประโยคนี้คือ

=(LEN(A1)LEN( SUBSTITUTE(A1,”ที่”,””) ))/LEN(“ที่”)

แล้วจะได้คำตอบที่ต้องการ (4)

ทำไมน่ะหรือครับ?

จุดสำคัญของสูตรนี้คือฟังก์ชั่น SUBSTITUTE 

ฟังก์ชั่น SUBSTITUTE มีจุดเด่นคือ สามารถเข้าถึงทุกตัวอักษรในเซลล์ใดๆได้

แถมพอเจอสิ่งที่ต้องการแล้ว ก็ยังทะลุทะลวงทำต่อไปยังตัวอักษรตัวสุดท้าย (เทพมาก)

แตกต่างจากฟังก์ชั่น FIND หรือ SEARCH พอเจอสิ่งที่ต้องการก็จะหยุด แล้วส่งค่ากลับมาเลย ไม่ยอมทำต่อเหมือน SUBSTITUTE

เราจึงใช้ความสามารถของฟังก์ชั่น SUBSTITUTE แทนคำว่า “ที่” ด้วย “” (ค่าว่าง)

หรือทำให้คำว่า “ที่” หายไปจากประโยคนั่นเอง!

ผลลัพธ์ของ SUBSTITUTE(A1,”ที่”,””) คือ

“สถานเราควรเดินทางไปควรจะเป็นเราสนใจ”

คำว่า “ที่” อันตรธานจากประโยคนี้แล้ว

พอได้ประโยคที่ปราศจากคำนั้น แล้วยังไงต่อน่ะหรือครับ?

ใช้วิชาคณิตศาสตร์ช่วยหาคำตอบ ด้วยสูตรนี้ครับ

(จำนวนตัวอักษรทั้งหมด – จำนวนตัวอักษรที่ปราศจากคำนั้น) / จำนวนตัวอักษรของคำนั้น

ฟังก์ชั่นที่มีความสามารถนับตัวอักษรได้ คือฟังก์ชั่น LEN 

จำนวนตัวอักษรทั้งหมด ของประโยค “สถานที่ที่เราควรเดินทางไปควรจะเป็นที่ที่เราสนใจ” คือ 47

หรือ LEN(“สถานที่ที่เราควรเดินทางไปควรจะเป็นที่ที่เราสนใจ”) = 47

จำนวนตัวอักษรที่ปราศจากคำว่า “ที่” (“สถานเราควรเดินทางไปควรจะเป็นเราสนใจ”) คือ 35

หรือ LEN(“สถานเราควรเดินทางไปควรจะเป็นเราสนใจ”) = 35

หรือ LEN( SUBSTITUTE(A1,”ที่”,””) = 35

จำนวนตัวอักษรของคำว่า “ที่” คือ 3 (ท ทหาร, สระอี, ไม้เอก)

พอนำมาเข้าสูตรของเรา ก็จะกลายเป็น

= (47 – 35) / 3

= 12 / 3

= 4

ชาดาม!!

ในทางปฏิบัติ ควรนำคำว่า “ที่” ไปใส่ไว้ในเซลล์สักเซลล์นึง เช่น B1

สูตรก็จะกลายเป็น

=(LEN(A1)-LEN(SUBSTITUTE(A1,B1,””)))/LEN(B1)

แนะนำให้เขียนสูตรแบบนี้นะครับ ไม่ค่อยแนะนำให้ใช้คำว่า “ที่” ลงไปในสูตรตรงๆ

เพราะถ้าเปลี่ยนจากคำว่า “ที่” เป็นคำว่า “เรา”

ก็ต้องมาแก้สูตรกันเหนื่อยเลย T_T

อ้อ! คำที่เราต้องการ ไม่จำเป็นต้องมีแค่พยางค์เดียวนะครับ

จะเป็น 2 พยางค์,  3 พยางค์, วลี หรือมีแค่ตัวอักษรเดียว ได้ทั้งนั้น

สำคัญแค่ อย่าสะกดผิดก็พอครับ ^__^

 

อ้างอิงเทคนิคจาก https://exceljet.net/formula/count-specific-words-in-a-cell

.

หากคุณชอบบทความแนวนี้ สามารถอัพเดตบทความใหม่ๆโดยคลิก Like เฟสบุ๊คแฟนเพจ วิศวกรรีพอร์ต หรือคลิก ที่นี่

อย่าลืมแชร์ให้เพื่อนอ่านเพื่อเป็นกำลังใจให้คนเขียนด้วยนะครับ ^_^

 

 

วิศวกรรีพอร์ต

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

3 thoughts on “สูตร Excel นับคำซ้ำในประโยค

  1. ถ้าผมจะใช้สูตรนับเครื่องหมาย “+” ในเซลล์ช่องเดียวกัน ผมต้องทำยังไงครับ ยกตัวอย่าง เช่น…

    เมื่อคลิกในช่อง A1 จะมีสูตรดังนี้ครับ
    =20+10+35+20+20+20+50+30+25+20+65+10+20+45+30+30+50+20+65+45+25+60+20+110+45+65+25
    ผมต้องการตั้งสูตรนับเครื่องหมาย “+” ว่ามีทั้งหมดกี่ตัว

    ขอรบกวนเป็นความรู้ เป็นวิทยาทานด้วยครับ ขอบคุณครับ

    1. ถ้าเป็นเคสนี้ต้องใช้ฟังก์ชัน FORMULATEXT มาช่วยครับ เช่นเขียนสูตรเป็น
      =LEN(FORMULATEXT(A1))-LEN(SUBSTITUTE(FORMULATEXT(A1),”+”,””))

      ทั้งนี้ฟังก์ชัน FORMULATEXT ใช้ได้เฉพาะ Excel 2013, 2016, 2019 และ Office 365 ครับ (Excel 2010 ใช้ไม่ได้)

Leave a Reply to Alex Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.