Page 1 of 1

ใช้สูตร IF(Match...) 2เงื่อนไขไม่ได้ ได้ผลแค่IFแรก IFที่2ขึ้น #N/A

Posted: Thu Apr 12, 2018 8:55 pm
by Apassara
สวัสดีคะ
ดิฉันกำลังทำแบบฟอร์มบันทึกการมาทำงานของพนักงานใน 1 เดือน ซึ่งต้องการให้ง่ายในการบันทึกโดยการให้บันทึกอีกหน้าหนึ่งแล้วทำสูตรให้ดึงข้อมูลที่ Match กันแล้วให้ขึ้นว่าอยู่กะ M หรือกะ Nด้วย


สูตรที่ใช้
=IF(MATCH(F16,'daily record M Shift'!A:A,0),"M",IF(MATCH(F16,'daily record N Shift'!$A:$A,0),"N"))

ค่า IF แรกสามารถใช้งานได้ปกติ
ค่า IF ที่2 ขึ้น N/A

รบกวนช่วยแนะนำด้วยนะคะ

Re: ใช้สูตร IF(Match...) 2เงื่อนไขไม่ได้ ได้ผลแค่IFแรก IFที่2ขึ้น #N/A

Posted: Thu Apr 12, 2018 9:10 pm
by snasui
:D ฟังก์ชั่น Match เป็นการค้นหาค่าที่ต้องการว่าอยู่ในพื้นที่เป้าหมายหรือไม่ ถ้าพบจะแสดงลำดับที่พบ ถ้าไม่พบจะแสดง #N/A

จากฟังก์ชั่น IF ตามโพสต์ #1 หากว่า Match ตัวแรกแล้วเป็น #N/A มันก็จะได้ผลลัพธ์เป็น #N/A ทันที ไม่สนใจ Match ตัวที่สองอีกต่อไปเนื่องจากเงื่อนไขของฟังก์ชั่น If จะต้องให้ผลลัพธ์เป็น True หรือ False อย่างใดอย่างหนึ่งเท่านั้นครับ

เมื่อเป็นเช่นนั้นก็ต้องกลับมาทบทวนสูตรใหม่ว่าต้องการจะทำอะไร หากต้องการหาว่าพบหรือไม่พบสามารถใช้ได้หลายฟังก์ชั่น Match ก็เป็นจำนวนหนึ่งในนั้น แต่ Match อย่างเดียวย่อมไม่พอ หากจะปรับสูตรเดิมสามารถใช้ Isnumber เข้ามาช่วยได้ เช่น

=IF(Isnumber(MATCH(F16,'daily record M Shift'!A:A,0)),"M","N"))

แปลว่า หากพบ F16 ใน daily record M Shift'!A:A ให้แสดงค่า "M" หากไม่พบให้แสดงค่า "N"

Re: ใช้สูตร IF(Match...) 2เงื่อนไขไม่ได้ ได้ผลแค่IFแรก IFที่2ขึ้น #N/A

Posted: Thu Apr 12, 2018 10:15 pm
by Apassara
ขอบคุณค่ะอาจารย์

สำหรับสูตรนี้หากใช้แล้ว เราก็จะไม่ทราบเลยว่าคนไหนไม่ได้มาทำงาน เนื่องจากเป็น N ทั้งหมด

อาจารย์พอจะแนะนำสูตรอื่นได้อีกไหมคะ

Re: ใช้สูตร IF(Match...) 2เงื่อนไขไม่ได้ ได้ผลแค่IFแรก IFที่2ขึ้น #N/A

Posted: Thu Apr 12, 2018 10:20 pm
by snasui
:D ถ้าเป็น N ทั้งหมดก็แสดงว่าไม่พบค่า F16 ในช่วง 'daily record M Shift'!A:A ครับ ถ้าพบมันจะเป็น M ครับ

ควรจะแจ้งเงื่อนไขทั้งหมดแทนการสอบถามด้วยสูตร จะได้ทราบได้แน่ชัดว่าต้องการจะทำอะไรและจะตอบได้ตรงประเด็นครับ