snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#1
Post
by Greensand » Wed Oct 27, 2010 10:26 am
ตามเอกสารแนบ ถ้าต้องการให้พนักงาน เลือกตอบ YES ในช่องความคิดเห็นที่ 1 - 3 โดยต้องเลือกตอบ YES ได้เพียงความคิดเห็นเดียวเท่านั้น
เวลาพนักงานเข้าไปกรอกข้อมูลแล้ว เราจะใช้สูตร if ตรวจสอบได้หรือไม่ว่า พนักงานคนใด กรอก YES มากกว่า 1 ความคิดเห็น หรือ ไม่ได้กรอกเลยค่ะ
You do not have the required permissions to view the files attached to this post.
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
snasui
Site Admin
Posts: 30945 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Wed Oct 27, 2010 11:05 am
ลองตามนี้ครับ
ที่เซลล์ E2 คีย์
=COUNTIF(B2:D2,"Yes")=1
Enter > Copy ลงด้านล่าง
ความหมายของสูตรคือ นับว่ามีคำว่า Yes เพียง 1 ค่าหรือไม่ ถ้ามากกว่าหรือไม่มีเลยจะแสดงผลลัพธ์เป็น False ครับ แต่หากมีเพียงค่าเดียวจะแสดงค่าเป็น True
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#3
Post
by Greensand » Wed Oct 27, 2010 11:36 am
คุณคนควน คะ
ถ้าพนักงานไม่ได้กรอกคำว่า Yes แต่อาจจะเป็นเนื้อหาใจความที่แต่ละคนต้องการจะเขียน จะมี่สัญญลักษณ์อะไร ที่แทนข้อความทั่วไปอะไรก็ได้ มาใช้แทนคำว่า YES ตามตัวอย่างได้หรือไม่คะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
snasui
Site Admin
Posts: 30945 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Wed Oct 27, 2010 11:58 am
ถ้ามีการคีย์ทีหลากหลาย อาจจะเปลี่ยนเป็นการนับเซลล์ไม่ว่างแทนครับ เช่น
ที่เซลล์ E2 คีย์
=COUNTA(B2:D2)=1
Enter > Copy ลงด้านล่าง ความหมายคือ B2:C2 มีเซลล์ที่ไม่เป็นเซลล์ว่างอยู่เท่ากับ 1 ค่าหรือไม่ ถ้าใ่ช่แสดงผลลัพธ์เป็น True ถ้าไม่ใช่จะแสดงผลลัพธ์เป็น False
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#5
Post
by Greensand » Wed Oct 27, 2010 1:08 pm
ได้ทดลองทำโดยใช้ COUNTA แล้ว ตามเอกสารแนบ ชื่อ File Other 3 แต่ผลลัพธ์ที่ได้ของ Column H ควรจะเป็น TRUE เพียงบรรทัดที่ 212
แต่ไม่เป็นไปตามนั้น ไม่แน่ใจว่าเนื่องจาก มีการแก้ไข Range ในการอ่านข้อมูล ไม่ใช่แบบต่อเนื่อง แต่เลือกเฉพาะ Column A,B,E แทนใช่หรือไม่ค่ะ
You do not have the required permissions to view the files attached to this post.
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
snasui
Site Admin
Posts: 30945 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Wed Oct 27, 2010 1:18 pm
กรณีเซลล์ไม่ติดกันให้เปลี่ยนสูตรที่เซลล์ H63 ใหม่เป็นตามด้านล่างครับ
=COUNTA(A63,B63,E63)=1
Enter > Copy ลงด้านล่าง สังเกตว่าใช้
คอมม่า แทน
โคลอน ครับ
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#7
Post
by Greensand » Wed Oct 27, 2010 1:41 pm
แก้ไขสูตรแล้วค่ะ แต่ประเด็นใหม่ที่เกิดขึ้น คือ เวลาแสดงค่า FALSE จะมี 2 ความหมาย คือ
1. คนที่ไม่กรอกเลย
2. คนที่กรอก 2 ช่อง
จะทำอย่างไรดีคะ จึงจะแยก 2 กลุ่มนี้ออกจากกันค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
snasui
Site Admin
Posts: 30945 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Wed Oct 27, 2010 1:57 pm
คุณ Greensand กำหนดมาได้เลยว่า คนไม่กรอกเลยให้แสดงค่าอะไร คนที่กรอก 2 ช่องให้แสดงค่าอะไร คนที่กรอกช่องเดียวให้แสดงค่าอะไร เราสามารถใช้สูตร If มาช่วยแสดงผลตามความต้องการได้ครับ
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#9
Post
by Greensand » Wed Oct 27, 2010 2:23 pm
คุณคนควน คะ
กรณีกรอก 1 ช่อง ระบุเป็น TRUE
กรณีไม่กรอกเลย ระบุเป็น FALSE
กรณีกรอกมากกว่า 1 ช่อง ระบุเป็นคำว่า CHECK ค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand
snasui
Site Admin
Posts: 30945 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Wed Oct 27, 2010 2:44 pm
ลองตามนี้ครับ
H63 คีย์
=If(COUNTA(A63,B63,E63)=0,False,If(COUNTA(A63,B63,E63)=1,True,
" Check
" ))
Enter > Copy ลงด้านล่าง สังเกตคำว่า Check ต้องครอบด้วยฟันหนูครับ ส่วน True และ False เป็นค่าพิเศษที่จะละหรือจะใส่ฟันหนูไว้ก็ได้ครับ
Greensand
Member
Posts: 180 Joined: Mon Oct 18, 2010 10:45 am
#11
Post
by Greensand » Wed Oct 27, 2010 4:25 pm
คุณคนควน คะ
ทำได้แล้ว ช่วยลดเวลาการทำงานและความผิดพลาดประเภทการตรวจสอบที่มีการกรอกข้อมูลโดยพนักงานจำนวนมากได้เป็นอย่างดี
ขอบคุณมาก ๆ ค่ะ
ขอขอบคุณที่ให้ความรู้ใหม่ ๆ .......การเรียนรู้ไม่มีที่สิ้นสุด Greensand