Page 1 of 1
อยากทราบวิธีหาวันทำงาน 3 วันท้ายสุด ที่พนักงานไม่มาทำงานครับ
Posted: Tue Nov 18, 2014 10:29 am
by spinoza
เรียนอาจารย์ครับ
ผมขอรบกวนให้อาจารย์ช่วยแนะนำสูตรในช่อง L ครับ
โดยมีเงื่อนไขดังนี้ครับ
ต้องการหา ว่าพนักงานคนไหนที่ขาดงาน 3 วันสุดท้ายตามวันที่เรียงมาในแถว G ครับ
โดยให้ดูในแถว H ก่อนว่า เป็นคำว่า "ทำงาน" หากเป็นคำว่าทำงานให้มาดูข้อมูลในแถว J และ K หากไม่มีข้อมูลทั้ง 2 ช่องให้นำข้อมูลในช่อง A มาแสดงครับ
ผมได้แนบ File ตัวอย่างมาให้เรียบร้อยแล้วครับ
Re: อยากทราบวิธีหาวันทำงาน 3 วันท้ายสุด ที่พนักงานไม่มาทำงาน
Posted: Tue Nov 18, 2014 11:24 am
by snasui

ลองตามนี้ครับ
- เซลล์ M5 คีย์สูตรเพื่อเป็นคอลัมน์ช่วย
=IF(AND(H5<>"",COUNTIF($A$5:$A$110000,A5)-COUNTIF(A$5:A5,A5)<3),"x","")
Enter > Copy ลงด้านล่าง
- เซลล์ L5 คีย์สูตรเพื่อแสดงคำตอบตามต้องการ
=IF(AND(M5="x",COUNTIFS($A$5:$A$10000,A5,$H$5:$H$10000,"ทำงาน",$J$5:$J$10000,"=",$M$5:$M$10000,"x")=3),A5,"")
Enter > Copy ลงด้านล่าง
Re: อยากทราบวิธีหาวันทำงาน 3 วันท้ายสุด ที่พนักงานไม่มาทำงาน
Posted: Tue Nov 18, 2014 3:15 pm
by spinoza
snasui wrote:
ลองตามนี้ครับ
- เซลล์ M5 คีย์สูตรเพื่อเป็นคอลัมน์ช่วย
=IF(AND(H5<>"",COUNTIF($A$5:$A$110000,A5)-COUNTIF(A$5:A5,A5)<3),"x","")
Enter > Copy ลงด้านล่าง
- เซลล์ L5 คีย์สูตรเพื่อแสดงคำตอบตามต้องการ
=IF(AND(M5="x",COUNTIFS($A$5:$A$10000,A5,$H$5:$H$10000,"ทำงาน",$J$5:$J$10000,"=",$M$5:$M$10000,"x")=3),A5,"")
Enter > Copy ลงด้านล่าง
ได้ตามที่ต้องเลยครับ ขอบคุณครับอาจารย์

Re: อยากทราบวิธีหาวันทำงาน 3 วันท้ายสุด ที่พนักงานไม่มาทำงาน
Posted: Thu Nov 20, 2014 8:19 am
by spinoza
เรียนอาจารย์ครับ
ผมรบกวนอาจารย์ช่วยปรับสูตรตามเงื่อนไขเพิ่มเติมตามด้านล่างให้ด้วยนะครับ
ขออภัยที่รอบแรกแจ้งไม่ครบถ้วนครับ
โดยอยากให้อาจารย์ช่วยปรับสูตรในช่อง L ครับ และอยากให้ได้คำตอบเหมือนในช่อง N ครับ
( สูตรในช่อง L และ M ตอนนี้เป็นสูตรที่อาจารย์ช่วยแนะนำมาในรอบแรกครับ )
โดยมีเงื่อนไขดังนี้ครับ
1.ในกรณีที่ ( วันหยุด H และ หยุด W ขั้นอยู่และไม่มีเวลาการทำงาน ) อยากให้สูตรช่วยนับข้ามไปและนับเฉพาะวันที่เป็นประเภทวันทำงาน
โดยนับรวมกันให้ได้ 3 วัน หากไม่พบเวลาการทำงานอยากให้แสดงข้อมูลในช่องวันทำงาน ที่ไม่มีข้อมูลใน 3 วันสุดท้ายครับ
( ตามตัวอย่างพนักงานในรหัส 55555 วันทำงานติดกัน และ 66666 วันทำงานไม่ติดกันครับ ) ครับ
2.ในกรณีที่ ( วันหยุด H และ หยุด W ขั้นอยู่และมีเวลาการทำงาน ขาเดียวก็พอครับ ) ไม่ต้องแสดงข้อมูลเลย ( ตามตัวอย่างพนักงานในรหัส 77777 ) ครับ
3.ในกรณีที่ พนักงานไม่มีเวลาการทำงานเลย อยากให้แสดงข้อมูล เฉพาะประเภทวันทำงาน 3 วันสุดท้ายครับ ( ตามตัวอย่างพนักงานในรหัส 44444 ) ครับ
Re: อยากทราบวิธีหาวันทำงาน 3 วันท้ายสุด ที่พนักงานไม่มาทำงาน
Posted: Thu Nov 20, 2014 10:12 am
by snasui

กรณีนี้คงต้องพึ่ง VBA ลองเขียนมาดูก่อน ติดตรงไหนค่อยถามกันต่อครับ