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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
maamiii
Member
Posts: 3 Joined: Tue Nov 15, 2016 8:55 am
#1
Post
by maamiii » Tue Nov 15, 2016 9:31 am
สวัสดีค่ะ อยากจะรบกวนสอบถามการเปรียบเทียบข้อมูล 3 Column ค่ะ
ข้อมูลดังนี้ค่ะ
AI , 1.0 , AAAAAA
AI , 1.2 , BBBBBB
AR , 1.0 , CCCCCC
AR , 1.2 , DDDDDD
AE , 1.0 , EEEEEE
AE , 1.2 , FFFFFF
โดยที่หากกรอกข้อมูลว่า AR , 1.2 จะสามารถโชว์ผลว่า DDDDDD ค่ะ
ทั้งนี้เนื่องจากข้อมูลจริงมีเยอะ เลยไม่อยากใช้สูตร if เลยค่ะ
พอจะมีวิธีอื่นอีกไหมคะ (ไฟล์ตัวอย่างตามแนบค่ะ) ขอบคุณล่วงหน้าค่ะ
Test.xls
You do not have the required permissions to view the files attached to this post.
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#2
Post
by DhitiBank » Tue Nov 15, 2016 9:50 am
ลองแบบนี้ครับ
C1
=IF(OR(A1="",B1=""),"",LOOKUP(2,1/((A4:A9=A1)*(B4:B9=B1)),C4:C9))
maamiii
Member
Posts: 3 Joined: Tue Nov 15, 2016 8:55 am
#3
Post
by maamiii » Tue Nov 15, 2016 1:34 pm
ได้แล้วค่ะ ขอบคุณมากค่ะ
C1
=IF(OR(A1="",B1=""),"",LOOKUP(2,1 /((A4:A9=A1)*(B4:B9=B1)),C4:C9))
อยากทราบว่า 2,1 ในสูตรหมายถึงอะไรหรือค่ะ
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#4
Post
by DhitiBank » Tue Nov 15, 2016 2:51 pm
ในสูตร Lookup กรณีนี้มี 3 ส่วนครับ
LOOKUP(2 ,1/((A4:A9=A1)*(B4:B9=B1)) ,C4:C9 )
สีแดง คือ ค่าที่จะมองหา (หาเลข 2)
สีน้ำเงิน คือ ช่วงที่จะมองหาเลข 2
สีชมพู คือ ผลลัพธ์ที่จะให้แสดงในลำดับเดียวกับที่พบเลข 2
-- คราวนี้ คลิกที่เซลล์ C1 แล้วไปที่ Formula bar ครับ เอาเม้าส์ลากตรง A4:A9=A1 แล้วกด F9 จะเห็นว่ามี TRUE กับ FALSE ตรงที่เป็น TRUE คือมีค่าเท่ากับ A1 ลองทำเช่นเดียวกับ B4:B9=B1 ครับ ดูเสร็จแล้วกด ESC เพื่อให้สูตรกลับสู่สภาพเดิม
-- จากนั้น ลากคลุม (A4:A9=A1)*(B4:B9=B1) แล้วกด F9 ครับ จะเห็นว่ามี 1 กับ 0 เลข 1 เกิดจาก TRUE คูณ TRUE หมายความว่านั่นเป็นลำดับที่เข้าเงื่อนไขทั้งหมด ดูเสร็จกด ESC
-- ลากคลุม 1/((A4:A9=A1)*(B4:B9=B1)) แล้วกด F9 จะเห็นว่ามี #DIV/0 กับ 1 ค่าผิดพลาด Div/0 เกิดจากการหาร 1 ด้วย 0 ครับ คือข้อมูลที่ไม่เข้าเงื่อนไข แต่ข้อมูลไหนเข้าเงื่อนไขจะหารแล้วได้ 1
-- lookup ก็จะมองหาเลข 2 เมื่อไม่เจอก็จะเลือกเลือก 1 จากทางขวาสุด แล้วคืนค่าเป็นข้อมูลในช่วง C4:C9 ในลำดับเดียวกับที่พบเลข 1 ครับ
maamiii
Member
Posts: 3 Joined: Tue Nov 15, 2016 8:55 am
#5
Post
by maamiii » Tue Nov 15, 2016 3:24 pm
ขอบคุณมากค่ะกับคำอธิบาย
คลายสงสัยเลยค่ะ