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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#1
Post
by maxma » Fri Mar 14, 2014 3:58 pm
เนื่องจากมีข้อมูลประวัติตำแหน่งของพนักงานอยู่โดยประวัติตำแหน่งจะมีการบันทึกเฉพาะข้อมูลที่มีการเปลี่ยนแปลงแต่เนื่องจากต้องการตรวจสอบข้อมูลของพนักงาน
ณ สิ้นปีของทุกปี ว่าพนักงานมีตำแหน่ง ระดับ หน่วยงาน บริษัท อะไร ซึ่งหากปีใดไม่มีข้อมูลจะต้องโชว์ข้อมูลเดิม
เช่น หากมีการบันทึกข้อมูลนางสมหญิง วันที่ 16/6/2008 เป็นระดับ 3 ตำแหน่งหัวหน้าคนงาน แผนกบรรจุ บริษัท C จนถึงสิ้นปีไม่มีการบันทึกอะไรเปลี่ยนแปลง
ข้อมูลที่ต้องการคือข้อมูลนางสมหญิง ณ 31/12/2008 นางสมหญิง ระดับ 3 ตำแหน่งหัวหน้าคนงาน แผนกบรรจุ บริษัท C หากปี 2009 ไม่มีการเปลี่ยนแปลงก็ให้ใช้ข้อมูลเดิมค่ะ
รบกวนผู้เชี่ยวชาญ excel ที่นี่ค่ะว่าจะสามารถใช้สูตรอะไรได้บ้างจึงจะสามารถค้นหาข้อมูล ณ สิ้นปีได้ค่ะ เนื่องจากไม่รู้จะใช้วิธีไหนแล้วค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Fri Mar 14, 2014 5:15 pm
ลองตามนี้ครับ
เซลล์ C18 คีย์
=LOOKUP(2,1/(YEAR($D$3:$D$12)<=YEAR($A18)),F$3:F$12)
Enter > Copy ไปด้านขวาและลงด้านล่าง
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#3
Post
by maxma » Sat Mar 15, 2014 11:16 pm
ขอบคุณมากๆเลยค่ะอาจารย์ ได้แล้วค่ะ ตอนแรกคิดถึงแต่ vlookup แต่ก็ยังคิดไม่ออกว่าจะคืนค่ากลับมายังไง ขอบคุณอีกครั้งค่ะ
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#4
Post
by maxma » Mon Mar 17, 2014 11:22 am
สอบถามเพิ่มเติมค่ะ ตอนแรกทดสอบจาก File ตัวอย่างแล้วได้ แต่ปรากฎว่าพอใส่สูตรลงใน file จริงพบว่าสูตรที่ได้ไม่เพียงพอค่ะเนื่องจากข้อมูลมีจำนวนพนักงานหลายพันคนซึ่งต้องมีการค้นหารหัสพนักงานก่อน ซึ่งตอนสร้างตัวอย่างตกหล่นในส่วนรหัสพนักงานไป ทำให้สูตรที่ได้จะใช้ได้เฉพาะกรณีพนักงานมีคนเดียว ดังนั้นต้องขอประทานโทษด้วยค่ะ และขอรบกวนอาจารย์อีกครั้งนึงค่ะ
ทั้งนี้ได้แนบตัวอย่างที่เพิ่มรหัสพนักงานมาอีกครั้งนึงค่ะ
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#5
Post
by snasui » Mon Mar 17, 2014 9:00 pm
ช่วยทำตัวอย่างคำตอบที่ต้องการมาด้วยครับ แนบสูตรที่ผมได้ตอบไปแล้วและชี้ให้เห็นว่าค่าใดต้องการคำตอบเป็นเท่าใด เนื่องจากสาเหตุใดจึงควรได้ค่าเท่านั้น จะได้เข้าใจตรงกันครับ
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#6
Post
by maxma » Tue Mar 18, 2014 9:37 am
ขอบคุณอาจารย์มากค่ะที่เข้ามาช่วยตอบให้ คือเมื่อนำสูตรใส่ลงใน File ที่มีประวัติพนักงาน 1 ราย ผลที่ได้ถูกค่ะแต่เมื่อนำสูตรไปใช้กับ File จริงที่มีประวัติพนักงานหลายราย ผลที่ได้ไม่ตรงจึงคาดว่าอาจเพราะในสูตรไม่ได้การค้นหาชื่อหรือรหัสก่อน จึงลองใส่ =IF(MATCH(B21,$B$3:$B$15,0),LOOKUP(2,1/(YEAR($E$3:$E$15)<=YEAR($A21)),G$3:G$15),"")
ที่ cell D21 ผลที่ได้ก็ยังไม่ถูกอีก จึงขอรบกวนอาจารย์อีกครั้งนึงค่ะ
และขอถามสูตรของอาจารย์คือ สูตร =LOOKUP(2,1/ เลข 2,1/ คืออะไรคะ เพราะ lookup คือค้นหาแต่ยังไม่เข้าใจตัวเลข 2 ตัวนี้ค่ะ ขอบพระคุณมากค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#7
Post
by snasui » Tue Mar 18, 2014 1:29 pm
ลองตามนี้ครับ
เซลล์ E21 ปรับสูตรเป็น
=LOOKUP(2,1/((B21=$B$3:$B$15)*(YEAR($E$3:$E$15)<=YEAR($A21))),H$3:H$15)
Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์อื่นๆ
สำหรับคำอธิบายดูที่นี่ครับ
wordpress/last-cell/
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#8
Post
by maxma » Tue Mar 18, 2014 3:59 pm
snasui wrote: ลองตามนี้ครับ
เซลล์ E21 ปรับสูตรเป็น
=LOOKUP(2,1/((B21=$B$3:$B$15)*(YEAR($E$3:$E$15)<=YEAR($A21))),H$3:H$15)
Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์อื่นๆ
สำหรับคำอธิบายดูที่นี่ครับ
wordpress/last-cell/
ได้แล้วค่ะอาจารย์ เมื่อวานลองใช้ lookup เหมือนกันค่ะแต่ใส่สูตรไม่ถูกอีก
หากอาจารย์เข้ามาดูรบกวนขอคำอธิบายในส่วนของสูตรท่อนนี้ค่ะ
LOOKUP(2,1/ เพราะยังไม่ค่อยเข้าใจค่ะ
เพื่อที่คราวหน้าจะได้นำไปประยุกต์ใช้ได้ถูกค่ะ
ขอบคุณอีกครั้งค่ะ
snasui
Site Admin
Posts: 31257 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#9
Post
by snasui » Tue Mar 18, 2014 4:10 pm
ได้อ่านตาม Link ที่ผมแนบไปให้แล้วหรือไม่ครับ ถ้าไม่เข้าใจตามนั้นคงจะช่วยลำบากแล้วครับ เพราะอธิบายอย่างละเอียดแล้วครับ
maxma
Member
Posts: 8 Joined: Sun Dec 18, 2011 9:39 pm
#10
Post
by maxma » Wed Mar 19, 2014 2:46 pm
snasui wrote: ได้อ่านตาม Link ที่ผมแนบไปให้แล้วหรือไม่ครับ ถ้าไม่เข้าใจตามนั้นคงจะช่วยลำบากแล้วครับ เพราะอธิบายอย่างละเอียดแล้วครับ
ขอโทษด้วยค่ะอาจารย์ เมื่อวานพอเห็นสูตรแล้วอารามดีใจ
เลยไม่ทันเห็นบรรทัดสุดท้ายค่ะ ขอบคุณอีกครั้งค่ะ