:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
bafo
Member
Member
Posts: 19
Joined: Sun Sep 23, 2012 7:30 pm

ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#1

Post by bafo »

สวัสดีครับ

รบกวนขอคำแนะนำด้วยครับ

1. ในชีท WorkTimeMonth ข้อมูลใน Column "C" ในช่อง ชื่อ-สกุล ( C25:C29 )
ผลลัพธ์ชื่อ-สกุล ที่ผมต้องการจะเป็นชื่อที่ไม่ซ้ำกันครับ ( ตามตัวอย่างที่แนบไฟล์ครับ )

2. วันที่การมาปฎิบัติงาน ที่ผมต้องการจะจัดเรียงเป็นแถวตามตัวอย่างครับ
( กำหนดเป็น / ( มา ) และ X ( ไม่มา ) ครับ

เนื่องจากสูตรเดิมที่ผมทำไว้ไม่สามารถ Group ตามชื่อได้ครับ รบกวนขอคำแนะนำสูตรด้วยครับ


ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#2

Post by snasui »

:D จากตัวอย่าง วันที่ในเซลล์ D2:D3 ดูแล้วไม่สัมพันธ์กับวันที่ใน D25:D29 ไม่ทราบว่าที่จริงแล้วต้องสัมพันธ์กันหรือไม่ครับ ข้อมูลต้นแหล่งอยู่ที่ชีท Data ใช่หรือไม่ครับ
bafo
Member
Member
Posts: 19
Joined: Sun Sep 23, 2012 7:30 pm

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#3

Post by bafo »

สวัสดีครับ

วันที่ในช่อง d2:d3 เป็นวันที่ใช้ค้นหาข้อมูลครับ เมื่อเลือกช่วงวันที่ ข้อมูลที่ได้ใน C25:AM30 ก็จะเปลี่ยนไปตามช่วงวันที่ครับ
เหมือกันข้อมูลในชีท TimeWorkDay ครับ เลือกช่วงวันใดวันหนึ่งเท่านััน ( เฉพาะชีทนี้ครับ )
โดยข้อมูลจะปรากฎในช่วงวันที่ๆ เราระบุครับ

ส่วนข้อมูลใน D25:D29 เป็นผลลัพธ์ที่ต้องการครับ ( โดยข้อมูลทั้งหมดจะอ้างอิงจากชีท Data ครับ เป็นข้อมูลหลักครับ )

ความต้องการ :
1.ต้องการตัดชือ-สกุลที่ซ้ำออกครับ ในชีท WorkTimeMonth ในกรณีเดือนนั้นมีชื่อซ้ำครับ ตามตัวอย่างในชีท WorkTimeMonth (C25:C29) โดยสามารถระบุวันที่ค้นหา และข้อมูลจะเปลี่ยนไปตามช่วงวันที่ครับ )
2.วันที่่การมาปฎิบัติงาน อยากได้ข้อมูลตามตัวอย่างที่แนบให้ในไฟล์ครับ ( เนื่องจากที่ผมทำไว้ ได้ข้อมูลไม่ถูกต้องครับ )

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#4

Post by snasui »

:D ตัวอย่างสูตรในชีท WorkTimeMonth ครับ
  1. เซลล์ D4 คีย์สูตรเพื่อนับว่าพบกี่รายการ
    =SUM(IF(FREQUENCY(IF(Date>=Date_From1,IF(Date<=Date_To1,MATCH(Name,Name,0))),(ROW(Name)-MIN(ROW(Name))+1)),1))
    Ctrl+Shift+Enter
  2. เซลล์ B8 คีย์สูตรเพื่อ List ลำดับ
    =IF(ROWS(B$8:B8)>$D$4,"",ROWS(B$8:B8))
    Enter > Copy ลงด้านล่าง
  3. เซลล์ C8 คีย์สูตรเพื่อแสดงชื่อสกุลที่พบแบบไม่ซ้ำ
    =IF(N($B8),INDEX(Name,SMALL(IF(FREQUENCY(IF(Date>=Date_From1,IF(Date<=Date_To1,MATCH(Name,Name,0))),(ROW(Name)-MIN(ROW(Name))+1)),ROW(Name)-MIN(ROW(Name))+1),$B8)),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง และปรับสูตรนี้เพื่อนำไปใช้กับคอลัมน์ D:H
  4. เซลล์ I8 คีย์สูตรเพื่อแสดงมาปฏิบัติงาน
    =IF(N($B8),INDEX(Time,MATCH(1,IF($C8=Name,IF(I$6=Date,1)),0)),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
เมื่อแสดงผลได้ถูกต้องแล้วค่อยถามในส่วนที่ยังติดปัญหาต่อไปครับ
bafo
Member
Member
Posts: 19
Joined: Sun Sep 23, 2012 7:30 pm

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#5

Post by bafo »

สวัสดีครับ

ผมใส่ค่าสูตรตามที่ได้รับคำแนะนำแล้วครับ ได้ผลออกมาถูกต้องครับ แต่ยังติดปัญหาดังนี้ครับ
1. ในช่อง E8 ( Column สถานภาพ ) ผลลัพธ์ที่ยังได้ไม่ครบถ้วนครับ เนื่องจากข้อมูลที่ได้จะตัดค่าซ้ำออกไป จึงทำให้ผลลัพธ์ที่
ได้ขาดหายไปครับ ( ต้องการแสดงสถานภาพให้ครบทุกรายการครับ )

2. ในช่องวันที่การมาปฎิบัติงาน ผลลัพธ์ที่ได้ถูกต้องตามที่ต้องการครับ แต่เนื่องจากค่าที่ได้ในกรณีไม่ตรงเงื่อนไข จะขึ้นข้อความ
Error ครับ ( #N/A ) โดยผมใช้ Conditionl Formatting เพื่อปรับให้เป็นค่าว่างกรณีขึ้นข้อความ Error ครับ
โดยที่ช่อง I8 ผมได้กำหนด Conditionl Formatting ไว้ดังนี้ครับ =ISERROR($I8)

รบกวนขอคำแนะนำในการใช้สูตรด้วยครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#6

Post by snasui »

:D กรณี Status ให้ Lookup มาจากชื่อ-สกุลแทนใช้สูตรเดิม ด้วยเหตุผลที่ว่าสูตรเดิมจะนำมาเฉพาะ Unique Record เท่านั้น

ส่วนกรณีแสดง #N/A หากไม่ต้องการให้แสดง #N/A ก็เขียนสูตรเข้าไปดักได้ โดยปรับสูตรที่ I8 เป็น

=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX(Time,MATCH(1,IF($C8=Name,IF(I$6=Date,1)),0))))

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง
bafo
Member
Member
Posts: 19
Joined: Sun Sep 23, 2012 7:30 pm

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#7

Post by bafo »

สวัสดีครับ

ที่ช่อง E8 ใส่สูตรหา Lookup ดังนี้ครับ
=IF(C8="","",VLOOKUP(C8,Name1,3,0))
ได้ผลลัพธ์ถูกต้องครับ

สูตรที่ได้แนะนำให้ ตอนนี้สามารถทำงานได้สมบูรณ์ตามที่ต้องการแล้วครับ แต่ติดปัญหาข้อสุดท้ายครับ

ตามตัวอย่างผมกำหนดให้เมื่อครบ 3 บรรทัด ต้องการให้ขึ้นหน้าใหม่ทุกครั้ง โดยให้กำหนดเลขหน้าในช่อง B3 ครับ
คือเมื่อพิมพ์หมายเลข 2 ที่ช่อง B3 ข้อมูลที่ในลำดับที่ 4-5 ( B11:AM12 ) จะขึ้นมาแทนที่ในช่อง B19 ครับ

รบกวนขอคำแนะนำในการใช้สูตรด้วยครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#8

Post by snasui »

:D ลองตามนี้ครับ

ที่เซลล์ B8 คีย์

=IF(OR(ROWS(B$8:B8)>2,2*($B$3-1)+ROWS(B$8:B8)>$D$4),"",2*($B$3-1)+ROWS(B$8:B8))

Enter > Copy ลงด้านล่าง
bafo
Member
Member
Posts: 19
Joined: Sun Sep 23, 2012 7:30 pm

Re: ต้องการให้โชว์ข้อมูล โดยกำหนดตามช่วงวันที่

#9

Post by bafo »

สวัสดีครับ

สูตรที่แนะนำมาให้ สามารถใช้งานได้สมบูรณ์แล้วครับ


ขอบคุณครับ
Post Reply