snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ekkaluk_suk
Member
Posts: 127 Joined: Mon Jul 19, 2010 7:58 am
#1
Post
by ekkaluk_suk » Fri Jun 14, 2013 5:20 pm
=IF(OR(A7,B7)<>"",1,0) จากสูตรนี้ ต้องการให้ผลลัพธ์ แสดงเป็น 1 เมื่อมีการกรอกข้อมูล ทั้ง A7 และ B7 เข้ามา และถ้ามีค่าว่างในช่องใดช่องหนึ่ง คือ A7 หรือ B7 ให้แสดงผลลัพธ์เป็น 0 แต่สูตรกลับแสดงเป็น #Value ต้องแก้ไข อย่างไรครับ
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Fri Jun 14, 2013 5:37 pm
ลองแก้เป็นด้านล่างครับ
=IF(Or(A7<>"",B7<>""),1,0)
nattasiray
Bronze
Posts: 284 Joined: Thu Feb 11, 2010 8:32 pm
Contact:
#3
Post
by nattasiray » Fri Jun 14, 2013 5:44 pm
เพราะคุณเขียนสูตรตามข้อความดังนี้
ถ้า a7 หรือ b7 มีค่าไม่เท่ากับค่าว่าง
เมื่อเขียนสูตรตามข้อความข้างบน คุณเอาเงื่อนไขไปวางข้างนอก จึงเกิดข้อผิดพลาด
ต้องเขียนแบบข้างล่าง
Code: Select all
ถ้าเซลล์ A7 ไม่เท่ากับค่าว่างหรือเซลล์ B7 ไม่เท่ากับค่าว่างแล้ว
แสดงค่า 1
แต่ไม่ใช่ แสดงค่า 0
จบการทำงาน
หากเขียนตามข้อความอย่างที่ผมเขียน ก็จะเขียนสูตรเป็น
แบบที่ 1
Code: Select all
=If(Or(not(Isblank(a7)),not(isblank(b7))),1,0)
แบบที่ 2
แบบที่ 3
แบบที่่ 4
Code: Select all
=not(isblank(a7))+not(isblank(b7))
ณัฐศิระ เยาวสุต
(N. Yauvasuta)
ekkaluk_suk
Member
Posts: 127 Joined: Mon Jul 19, 2010 7:58 am
#4
Post
by ekkaluk_suk » Mon Jun 17, 2013 8:02 am
ครับ ตอนนี้ได้แล้ว ครับ แต่สูตรที่ใช้งานค่อนข้างยาว เพราะผมต้องการตรวจสอบ ตั้งแต่ A7-M7 ไม่ทราบว่าที่เป็นสูตรที่สั้นกว่านี้หรือไม่ครับ
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Mon Jun 17, 2013 9:05 am
ตอบตามที่เข้าใจนะครับ
=If(CountA(A7:M7)>0,1,0)
Enter
ekkaluk_suk
Member
Posts: 127 Joined: Mon Jul 19, 2010 7:58 am
#6
Post
by ekkaluk_suk » Mon Jun 17, 2013 11:52 am
snasui wrote: ตอบตามที่เข้าใจนะครับ
=If(CountA(A7:M7)>0,1,0)
Enter
ขอบคุณครับอาจารย์ แต่ตอนนี้ผมได้สูตรนี้แล้ว ขอบคุณคำตอบด้านบนนะครับ ต่อยอดได้จริง ๆ
=IF(COUNTBLANK(A7:K7),"ไม่สมบูรณ์","สมบูรณ์")