:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

สอบถามเรื่อง การนับคำใน Excel ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

สอบถามเรื่อง การนับคำใน Excel ครับ

#1

Post by lnongkungl »

ผมต้องการนับจำนวนคำที่พิมพ์ใน Excel ครับ เหมือน Word Count ใน Word ก็พยายามหาข้อมูลดูจนไปเจอมาแต่มันใช้ไม่ได้กับภาษาไทยครับ

สูตร =IF(LEN(TRIM(A2))=0,0,LEN(TRIM(A2))-LEN(SUBSTITUTE(A2," ",""))+1)

code vb

Code: Select all

Function intWordCount(rng As Range) As Integer
    intWordCount = UBound(Split(Application.WorksheetFunction.Trim(rng.Value), " "), 1) + 1
End Function
ก็นับได้ครับ แต่ใช้ได้กับภาษาอังกฤษ กับภาษาไทยใช้ไม่ได้ เพราะวิธีการนับคือ เว้นวรรค นับเป็น 1 คำ(ในภาษาอังกฤษ) แต่กับภาษาไทยเราพิมพ์ติดกันเลย ไม่ได้นับคำเหมือนภาษาอังกฤษ

เช่น
I Love You นับได้ 3 คำ
ฉันรักเธอ นับได้ 1 คำ จริงๆต้องเป็น 3 เหมือนกัน

พอจะมีวิธีที่ทำใน excel ได้หรือไม่ครับ
astalavista
Member
Member
Posts: 48
Joined: Tue Oct 03, 2017 11:05 am

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#2

Post by astalavista »

ภาษาไทย อาจจะต้องใช้ ComputeStatistics ของ MSword ช่วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#3

Post by snasui »

:D ตัวอย่างการประยุกต์ใช้ฟังก์ชั่นของ Word ครับ

Code: Select all

Function intWordCount(rng As Range) As Integer
    Dim wd As Object
    Dim doc As Object
    Dim ojbSelt As Object
    Set wd = CreateObject("Word.Application")
    Set doc = wd.documents.Add
    Set ojselt = wd.Selection
    ojselt.typetext Text:=rng.Value
    intWordCount = wd.activedocument.ComputeStatistics(Statistic:=wdStatisticWords, _
        IncludeFootnotesAndEndnotes:=True)
    wd.activedocument.Close False
    wd.Quit
End Function
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#4

Post by lnongkungl »

ขอบคุณครับอาจารย์
รบกวนอาจารย์ ช่วยอธิบายรายละเอียดหน่อยครับ ไม่เคยใช่ฟังก์ชั่นแบบนี้ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#5

Post by snasui »

:D การการใช้ฟังก์ชั่นของ Word เข้ามาช่วยครับ

โดยสรุปคือ

Code ข้างบนเป็นการสร้างโปรแกรม Word สร้างเอกสารและกำหนด Object ปัจจุบันเพื่อจะวางข้อมูลที่รับมาจากตัวแปร rng จากนั้นก็ใช้ฟังก์ชั่นการนับคำตามโจทย์ด้วยความสามารถของ Word ครับ
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#6

Post by lnongkungl »

หลักการคือ เอาข้อมูลที่เราต้องการนับคำ ไปประมวลผลใน Word แล้ว ส่งผลคืนมาที่ Excel ใช่หรือไม่ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#7

Post by snasui »

lnongkungl wrote: Fri Oct 05, 2018 9:32 am หลักการคือ เอาข้อมูลที่เราต้องการนับคำ ไปประมวลผลใน Word แล้ว ส่งผลคืนมาที่ Excel ใช่หรือไม่ครับ
:D ถูกต้องครับ
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#8

Post by lnongkungl »

ขอสอบถามอีกเรื่องครับ อันนี้จนปัญญาจริงๆ หาข้อมูลไม่เจอเลย

คือต้องการตรวจสอบคำที่พิมพ์หรือสะกดผิดครับ ว่ามีกี่ตัวแล้วก็ sum เป็นตัวเลข
วิธีการคล้ายๆ Compare ของ Word ครับ อาจจะมีประโยคที่พิมพ์หรือสะกดถูกไว้แล้ว เอามาเทียบกันว่าผิดกี่คำ ประมาณนี้ครับ
ใช้ Spelling มันก็แสดงทีละคำๆ ซึ่งมันไม่ตอบโจทย์ เพราะเราไม่ต้องการแก้ให้ถูก แค่ต้องการเช็คว่าผิดกี่คำ

ผมหาข้อมูลไม่ได้เลย ขอแนวทางจากอาจารย์ด้วยครับ หรือ พอจะมี link ที่เกี่ยวข้องกับวิธีการทำประมาณนี้หรือเปล่าครับ
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#9

Post by lnongkungl »

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

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
Call CheckSpelling1(Target)
End Sub

Sub CheckSpelling1(r As Range)
Dim rng As Range
Dim ar() As String
Dim i As Long
Dim j As Long
With Application.SpellingOptions
   .IgnoreCaps = True
   .IgnoreFileNames = True
   .IgnoreMixedDigits = True
End With

   For Each rng In r
      If Not rng.HasFormula And VarType(rng.Value) = vbString Then
         ar = Split(Replace(rng.Value, Chr(160), " "), " ")
         j = 1
         rng.Font.ColorIndex = xlColorIndexAutomatic
         For i = 0 To UBound(ar)
            If Not Application.CheckSpelling(Word:=ar(i)) Then
               rng.Characters(j, Len(ar(i))).Font.ColorIndex = 3
            End If
            j = j + 1 + Len(ar(i))
         Next i
      End If
   Next rng
End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#10

Post by snasui »

:D ลองตรวจสอบการตรวจสอบการสะกดของภาษาไทยดูว่ามีหรือไม่ครับ

วิธีตรวจสอบ

คีย์คำว่า cta (เป็นคำผิด) ไปที่เมนู Review > ABC Spelling > สังเกตตรงช่อง Dictionary Language ว่ามีภาษาไทยหรือไม่ หากไม่มีก็ตรวจสอบไม่ได้ครับ
lnongkungl
Member
Member
Posts: 92
Joined: Tue Nov 14, 2017 11:04 am
Excel Ver: 2013

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#11

Post by lnongkungl »

จริงด้วยครับ ผมก็ลืมไปว่าไม่ได้ลง Pack ไทยไว้ พอลงไว้ก็เช็คได้ครับ

แต่ก็ติดปัญหาคือ เวลาเจอคำผิดแล้ว ไม่แยกคำเหมือนอังกฤษครับ เพราะเราไม่ได้เว้นวรรค เหมือนภาษาอังกฤษ

เช่น
I loev you ก็จะแดงแต่ตำว่า loev
ฉันรกัเธอ ไม่แดงแค่ รกั แต่แดง ทั้งประโยคเลยครับ

เหมือนกับวิธีนับคำครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: สอบถามเรื่อง การนับคำใน Excel ครับ

#12

Post by snasui »

:D การจะ Highlight ได้จะต้องทราบคำผิด ในภาษาอังกฤษมีการแบ่งคำด้วยวรรค ส่วนภาษาไทยไม่ได้แบ่งคำลักษณะนั้นแต่จะแบ่งวรรคระหว่างประโยคเลยจึงค่อนข้างลำบากที่จะระบายสีคำแบบภาษาอังกฤษ งานลักษณะนี้ผมคงช่วยไม่ได้มากครับ
Post Reply