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
:D ลองตามนี้ครับ
  1. เซลล์ M5 คีย์สูตรเพื่อเป็นคอลัมน์ช่วย
    =IF(AND(H5<>"",COUNTIF($A$5:$A$110000,A5)-COUNTIF(A$5:A5,A5)<3),"x","")
    Enter > Copy ลงด้านล่าง
  2. เซลล์ 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::D ลองตามนี้ครับ
  1. เซลล์ M5 คีย์สูตรเพื่อเป็นคอลัมน์ช่วย
    =IF(AND(H5<>"",COUNTIF($A$5:$A$110000,A5)-COUNTIF(A$5:A5,A5)<3),"x","")
    Enter > Copy ลงด้านล่าง
  2. เซลล์ 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 ลงด้านล่าง

ได้ตามที่ต้องเลยครับ ขอบคุณครับอาจารย์ :thup:

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
:D กรณีนี้คงต้องพึ่ง VBA ลองเขียนมาดูก่อน ติดตรงไหนค่อยถามกันต่อครับ