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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#1
Post
by nilatxay » Wed Jun 12, 2013 4:25 pm
จากข้อมูล 2 sheet: Tracking and Matrix
Tracking เป็นตัวป้อนข้อมูล
Matrix เป็นตัวแสดงข้อมูล
ใน sheet Trackingเป็นตัวป้อนข้อมูล ต้องการให้แสดงใน sheetMatrix ว่าพนักงาน C หรื NC หลักสูตร
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 » Wed Jun 12, 2013 4:48 pm
แนบไฟล์ตัวอย่างมาดูด้วยครับ จะได้เห็นว่าข้อมูลเป็นอย่างไร ติดปัญหาใด ต้องการคำตอบเป็นเช่นไร
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#3
Post
by nilatxay » Thu Jun 13, 2013 3:35 pm
ไฟล์เอกสาร
You do not have the required permissions to view the files attached to this post.
nattasiray
Bronze
Posts: 284 Joined: Thu Feb 11, 2010 8:32 pm
Contact:
#4
Post
by nattasiray » Thu Jun 13, 2013 4:39 pm
ใช้สูตร OFFSET MATCH สร้างในลักษณะสูตรอาร์เรย์
ในเวิร์คชีตผลลัพธ์ผมใช้ Conditioinal Formatting จัดรูปแบบอย่างมีเงื่อนไขเพื่อเน้นผลลัพธ์ออกมา
อยากรูว่าสูตรทำงานอย่างไร ให้คลิกที่เซลล์ที่มีสูตรจากนั้นคลิกแท็บ Formula คลิกปุ่ม Evaluate Formula
ลองดูชีตข้างหน้านะครับ ผมแยกข้อมูลออกเป็นตาราง ๆ เก็บข้อมูลเฉพาะเรื่องแล้ว ไม่ทราบคุณได้แยกแบบผมหรือไม่ครับ ถ้าได้แยกแล้ว คราวต่อไปเราสามารถใช้ สูตร VLOOKUP ร่วมกับ Data Validation ดึงข้อมูลผลลัพธ์มาแสดงได้
งานของคุณเป็นลักษณะฐานข้อมูลซึ่งมีข้อมูลเพิ่มขึ้นตลอดเวลา ดังนั้นคุณควรใช้สูตร OFFSET สร้างเป็น Dynamic Range Name เพื่อขยายขนาดของตารางบันทึกข้อมูลด้วย
ลองหาหนังสือจัดการฐานข้อมูลด้วย Microsoft Excel 2010 มาอ่านด้วยครับจะมีการสอนใช้สูตร OFFSET กับ MATCH และ Conditional Formatting เพื่อจัดรูปแบบอย่างมีเงื่อนไข การใช้ Data Validation แบบ List ร่วมกับสูตร VLOOKUP ค้นหาผลลัพธ์ที่ต้องการ
You do not have the required permissions to view the files attached to this post.
ณัฐศิระ เยาวสุต
(N. Yauvasuta)
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#5
Post
by nilatxay » Tue Sep 10, 2013 9:38 am
nattasiray wrote: ใช้สูตร OFFSET MATCH สร้างในลักษณะสูตรอาร์เรย์
ในเวิร์คชีตผลลัพธ์ผมใช้ Conditioinal Formatting จัดรูปแบบอย่างมีเงื่อนไขเพื่อเน้นผลลัพธ์ออกมา
อยากรูว่าสูตรทำงานอย่างไร ให้คลิกที่เซลล์ที่มีสูตรจากนั้นคลิกแท็บ Formula คลิกปุ่ม Evaluate Formula
ลองดูชีตข้างหน้านะครับ ผมแยกข้อมูลออกเป็นตาราง ๆ เก็บข้อมูลเฉพาะเรื่องแล้ว ไม่ทราบคุณได้แยกแบบผมหรือไม่ครับ ถ้าได้แยกแล้ว คราวต่อไปเราสามารถใช้ สูตร VLOOKUP ร่วมกับ Data Validation ดึงข้อมูลผลลัพธ์มาแสดงได้
งานของคุณเป็นลักษณะฐานข้อมูลซึ่งมีข้อมูลเพิ่มขึ้นตลอดเวลา ดังนั้นคุณควรใช้สูตร OFFSET สร้างเป็น Dynamic Range Name เพื่อขยายขนาดของตารางบันทึกข้อมูลด้วย
ลองหาหนังสือจัดการฐานข้อมูลด้วย Microsoft Excel 2010 มาอ่านด้วยครับจะมีการสอนใช้สูตร OFFSET กับ MATCH และ Conditional Formatting เพื่อจัดรูปแบบอย่างมีเงื่อนไข การใช้ Data Validation แบบ List ร่วมกับสูตร VLOOKUP ค้นหาผลลัพธ์ที่ต้องการ
ต้องการปรึกษาในการใช้สูตร
ภ้าใน sheet Tracking ผมลงข้อมูลช้ำกันสองคั้ง แต่ต้องการให้ข้อมูลโชในSheet Matric จะต้องทำอย่างไร
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#6
Post
by bank9597 » Tue Sep 10, 2013 9:57 am
รบกวนแสดงคำตอบที่ถูกต้องมาให้ดูหน่อยครับ หรือ สิ่งที่ต้องการ เป็นต้น จะได้คิดถูกได้ครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#7
Post
by nilatxay » Tue Sep 10, 2013 1:14 pm
bank9597 wrote: รบกวนแสดงคำตอบที่ถูกต้องมาให้ดูหน่อยครับ หรือ สิ่งที่ต้องการ เป็นต้น จะได้คิดถูกได้ครับ
จากข้อมูล 2 sheet: Tracking and Matrix
Tracking เป็นตัวป้อนข้อมูล
Matrix เป็นตัวแสดงข้อมูล
ใน sheet Trackingเป็นตัวป้อนข้อมูล ต้องการให้แสดงใน sheetMatrix ว่าพนักงาน C หรื NC หลักสูตร
แต่ปัญหามีอยู่ว่า ภ้าเราป้อนข้อมูลใน Sheet Tracking ชื่ และหลักสูตร ช้ำกันสองคั้งแต่ต่างที่ว่า ครั้งแรก NC ครั้งทีสอง(ครั้งสุดท้าย)
และผมต้องการให้สูตรคำนวนเอาตัวล่าสุดไปแสดงใน sheetMatrix
ดั่งในตัวอย่างแนบไฟล์
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#8
Post
by bank9597 » Tue Sep 10, 2013 3:40 pm
ผมไม่ค่อยถนัดสูตร Offset เท่าไหร่ครับ เลยแนะนำวิธีที่ถนัด ลองดูครับว่าใช้ได้หรือไม่
ที่ชีท Tracking เซลล์ J4 คีย์ =SUMPRODUCT(--($B$4:$B$12=$B4),--($D$4:$D$12=$D4))-SUMPRODUCT(--($B$4:$B4=$B4),--($D$4:$D4=$D4)) คัดลอกลงมา
ที่ชีท Matrix เซลล์ D13 คีย์ =IFERROR(INDEX(Tracking!$I$4:$I$12,MATCH(1,IF($A13=Tracking!$D$4:$D$12,IF(D$11=Tracking!$B$4:$B$12,IF(Tracking!$J$4:$J$12=0,1))),0)),"") คัดลอกไปขวามือแล้วลงล่างพร้อมกันครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#9
Post
by nilatxay » Tue Sep 10, 2013 4:59 pm
bank9597 wrote: ผมไม่ค่อยถนัดสูตร Offset เท่าไหร่ครับ เลยแนะนำวิธีที่ถนัด ลองดูครับว่าใช้ได้หรือไม่
ที่ชีท Tracking เซลล์ J4 คีย์ =SUMPRODUCT(--($B$4:$B$12=$B4),--($D$4:$D$12=$D4))-SUMPRODUCT(--($B$4:$B4=$B4),--($D$4:$D4=$D4)) คัดลอกลงมา
ที่ชีท Matrix เซลล์ D13 คีย์ =IFERROR(INDEX(Tracking!$I$4:$I$12,MATCH(1,IF($A13=Tracking!$D$4:$D$12,IF(D$11=Tracking!$B$4:$B$12,IF(Tracking!$J$4:$J$12=0,1))),0)),"") คัดลอกไปขวามือแล้วลงล่างพร้อมกันครับ
ก่อพอได้อยู่นะ แต่บางทีพนักงานคนนั้นต้องได้เรียนหลายฯครั้ง(บางคนก่อมากกว่าสองครั้งขื้นไป) สูรตมันจะไม้แสดงข้อมูลล่าสุดให้
ความหมายของตัวย่อ
C = Competed
NC = Not Competed
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#10
Post
by bank9597 » Tue Sep 10, 2013 7:46 pm
คุณต้องปรับในสูตรเองน่ะครับ ข้อมูลใส่ไปถึงเซลล์ไหนแล้ว เราก็ต้องอ้างไปถึงตรงนั้น หรืออ้างอิงเผื่อไว้ครับ
ลองแก้สูตรเป็น =IFERROR(INDEX(Tracking!$I$4:$I$20,MATCH(1,IF($A13=Tracking!$D$4:$D$20,IF(D$11=Tracking!$B$4:$B$20,IF(Tracking!$J$4:$J$20=0,1))),0)),"") กด Ctrl+Shift+Enter คัดลอกไปทางขวาแล้วลงล่างพร้อมกันครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nilatxay
Member
Posts: 81 Joined: Wed Mar 27, 2013 2:51 pm
#11
Post
by nilatxay » Wed Sep 11, 2013 6:24 am
bank9597 wrote: คุณต้องปรับในสูตรเองน่ะครับ ข้อมูลใส่ไปถึงเซลล์ไหนแล้ว เราก็ต้องอ้างไปถึงตรงนั้น หรืออ้างอิงเผื่อไว้ครับ
ลองแก้สูตรเป็น =IFERROR(INDEX(Tracking!$I$4:$I$20,MATCH(1,IF($A13=Tracking!$D$4:$D$20,IF(D$11=Tracking!$B$4:$B$20,IF(Tracking!$J$4:$J$20=0,1))),0)),"") กด Ctrl+Shift+Enter คัดลอกไปทางขวาแล้วลงล่างพร้อมกันครับ
thanksss ຂອບໃຈຫລາຍໆເດີ