Page 2 of 2
Re: วิธีการให้ข้อความเชื่อมโยงกัน(ข้ามชีท)
Posted: Tue Oct 29, 2013 9:29 pm
by snasui
ผมเห็นว่าน่าจะมีปัญหาต่อไปเรื่อย ๆ จากการทีข้อมูลต้นแหล่งไม่เป็น Database
การที่ข้อมูลต้นแหล่งไม่เป็น Database ย่อมจะทำให้ทำงานลำบาก ที่ผ่าน ๆ มาคงเห็นแล้วว่าสูตรยากมากและแก้ไขเองไม่ได้ ไม่เฉพาะผู้ที่ไม่คุ้นเคยกับสูตร แม้แต่ผู้ที่ใช้งาน Excel อยู่เป็นประจำก็ไม่ใช่ว่าจะเข้าใจสูตรลักษณะนั้นได้ง่าย ๆ
ดังนั้น ขอแนะนำให้คุณทำชีท โครงการให้เป็น Database แทนการทำข้อมูลลักษณะเดิมครับ ลักษณะของ Database คือเรียงข้อมูลลงไปด้านล่าง โดยมีคอลัมน์ 4 คอลัมน์ คือ
- คอลัมน์ No
- คอลัมน์ Date
- คอลัมน์ Item
- คอลัมน์ Name
จากนั้นค่อยแนบไฟล์มาถามกันอีกรอบครับ
Re: วิธีการให้ข้อความเชื่อมโยงกัน(ข้ามชีท)
Posted: Tue Dec 24, 2013 3:16 pm
by kanitthw
แบบนี้ใช่ไหมค่ะ
สิ่งที่ต้องการคือ
1. ใน 1 วัน 1 คน ทำ 2 โปรเจค เช่น วันที่ 3 วุฒิพงษ์ ทำทั้ง Item สร้างบ้าน และ Item หลังคา จะให้ไปโชว์ ชีทรายชื่อ ทั้ง 2 Item
2. คือถ้าต้องการให้ใน 1 โครงการมีพนักงานทำหลายคน เช่น โครงการสร้างบ้าน มี วุฒิพงษ์,วสันต์,รณชัย ทำด้วยกัน และให้ไปโชว์ ชีทรายชื่อของแต่ละคน ว่าวันที่ 1 ทำโครงการสร้างบ้าน
ขอบคุณค่ะ
Re: วิธีการให้ข้อความเชื่อมโยงกัน(ข้ามชีท)
Posted: Tue Dec 24, 2013 4:56 pm
by snasui
ไฟล์แนบไม่เป็นไปตามลักษณะที่ผมแนะนำไว้ตามด้านบนครับ
Re: วิธีการให้ข้อความเชื่อมโยงกัน(ข้ามชีท)
Posted: Thu Jan 02, 2014 4:12 pm
by kanitthw
งั้นถ้าเกิดว่าเปลี่ยนเป็นรูปแบบใหม่คือ
ชีทโครงการ ในแต่ละวัน 1 โครงการ สามารถทำได้ไม่เกิน 3 คน ซึ่งพอใส่ชื่อไปแล้ว ให้ชื่อโครงการ และวันตรงกับชีทรายชื่อ
แต่ตอนนี้เมื่อใส่ชื่อไปในแต่ละโครงการแล้ว หน้าชีทรายชื่อไม่ตรงกันค่ะ
เช่น วันที่ 1 โครงการที่ 1 มี วุฒิพงษ์ วสันต์ ชัยยันต์ พอไปคลิกดูที่ชีท รายชื่อ ปรากฎว่า ชื่อโครงการไม่ตรงกับวันที่ ที่เลือกไว้ ค่ะ
รบกวนด้วยค่ะ
ขอบคุณค่ะ
Re: วิธีการให้ข้อความเชื่อมโยงกัน(ข้ามชีท)
Posted: Thu Jan 02, 2014 8:01 pm
by snasui
ควรทำเป็น Database เช่นที่ผมแนะนำไปครับ
หากมีการปรับเปลี่ยนโดยยืนยันจะใช้รูปแบบนี้ ในโอกาสต่อไปให้เขียนเป็น VBA มาก่อน ติดตรงไหนค่อยถามกันต่อ ผมจะตอบด้วยสูตรให้อีกสักครั้งหนึ่งตามด้านล่างและจะขอจบการตอบด้วยสูตรเนื่องจากเห็นว่าซับซ้อนเกินความจำเป็น อีกทั้งมีทางเลือกอื่นที่สะดวกกว่าเช่นการทำข้อมูลต้นทางให้เป็น Database ซึ่งจะทำให้การใช้สูตรง่ายขึ้นมากตามที่แนะนำไปแล้วครับ
ที่เซลล์ B4 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX(โครงการ!$B$5:$B$94,SMALL(IF(MMULT(--(COLUMN(โครงการ!C$5:E$94)>0),TRANSPOSE(--(LOOKUP(CHAR(255),$A$4:$A4)=OFFSET(โครงการ!$C$5:$AN$95,0,MATCH(B$3,โครงการ!$C$4:$AN$4,0)-1,COUNTA(โครงการ!$B$5:$B$95),3)))),TRANSPOSE(ROW(โครงการ!$B$5:$B$94)-ROW(โครงการ!$B$5)+1)),MOD((ROWS(B$2:B2)-1),3)+1))))
Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง