Page 1 of 1

อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Thu Jul 03, 2014 10:33 am
by janyad
อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก(ทาสีชมพูไว้) ใน SHEET ลาออก โดยสามารถแสดงเฉพาะบางเดือนที่ต้องการหรือโชว์ทั้งหมด
โดยกำหนดเดือนที่ออกที่คอลัมภ์ B

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Thu Jul 03, 2014 4:08 pm
by bank9597
janyad wrote:อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก(ทาสีชมพูไว้) ใน SHEET ลาออก โดยสามารถแสดงเฉพาะบางเดือนที่ต้องการหรือโชว์ทั้งหมด
โดยกำหนดเดือนที่ออกที่คอลัมภ์ B
:D ลองตามนี้ครับ

ที่ B4 คีย์ =INDEX('OVER TIME'!$AI$4:$AI$51,SMALL(IF('OVER TIME'!$AI$4:$AI$51<>"",ROW('OVER TIME'!$AI$4:$AI$51)-ROW('OVER TIME'!$AI$4)+1),ROWS($A$4:$A4))) กด ctrl+shift+enter คัดลอกลงมา

ที่ C4 คีย์ =INDEX('OVER TIME'!A$4:A$51,SMALL(IF('OVER TIME'!$AI$4:$AI$51<>"",ROW('OVER TIME'!$AI$4:$AI$51)-ROW('OVER TIME'!$AI$4)+1),ROWS($A$4:$A4))) กด ctrl+shift+enter คัดลอกไปขวามือ แล้วคัดลอกลงล่างพร้อมกัน

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 9:07 am
by janyad
ได้แล้ว ค่ะขอบคุณค่ะ แต่อยากให้เรียงวันที่ออกจากก่อนหลังทำได้หรือเปล่าค่ะ

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 9:36 am
by bank9597
janyad wrote:ได้แล้ว ค่ะขอบคุณค่ะ แต่อยากให้เรียงวันที่ออกจากก่อนหลังทำได้หรือเปล่าค่ะ
:D ที่ B4 คีย์ =INDEX('OVER TIME'!$AI$4:$AI$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกลงมา
ที่ C4 คีย์ =INDEX('OVER TIME'!A$4:A$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกไปขวามือแล้วคัดลอกลงล่างพร้อมกัน

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 2:51 pm
by janyad
รบกวนขอความหมายของแต่ละสูตรด้วยน่ะค่ะ เพื่อจะนำไปประยุกต์ใช้กับงานอื่น ขอบคุณค่ะ
INDEX('OVER TIME'!$AI$4:$AI$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกลงมา

ที่ C4 คีย์ =INDEX('OVER TIME'!A$4:A$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกไปขวามือแล้วคัดลอกลงล่างพร้อมกัน

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 5:11 pm
by bank9597
janyad wrote:รบกวนขอความหมายของแต่ละสูตรด้วยน่ะค่ะ เพื่อจะนำไปประยุกต์ใช้กับงานอื่น ขอบคุณค่ะ
INDEX('OVER TIME'!$AI$4:$AI$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกลงมา

ที่ C4 คีย์ =INDEX('OVER TIME'!A$4:A$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) คัดลอกไปขวามือแล้วคัดลอกลงล่างพร้อมกัน
:D ผมจะอธิบายไม่ค่อยดีนัก แนะนำรอให้ อ. คนควน มาอธิบายจะชัดเจนและถูกต้องกว่าครับ

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 7:52 pm
by snasui
:D ลองค่อย ๆ ทำความเข้าใจดูครับ

:idea: จากสูตร

=INDEX('OVER TIME'!A$4:A$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0))

หมายถึง ในช่วง OVER TIME'!A$4:A$51 ให้นำลำดับที่เป็นผลลัพธ์ของ MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0) มาแสดง

:idea: จากสูตร

MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)

หมายถึง ให้หาว่า SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)) อยู่ในลำดับที่เท่าไรของ 'OVER TIME'!$AI$4:$AI$51

:idea: จากสูตร

SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4))

หมายถึงให้หาค่าที่น้อยที่สุดเป็นลำดับที่ 1 ในช่วง 'OVER TIME'!$AI$4:$AI$51

:idea: จากสูตร

ROWS($A$4:A4)

เป็นการหาจำนวนบรรทัดในช่วง A4:A4 ผลลัพธ์คือ 1 บรรทัด เมื่อคัดลอกสูตรลงด้านล่างจะเป็นการจำนวนบรรทัดในช่วง A4:A5, A4:A6, A4:A7 เช่นนี้ครับ

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Fri Jul 04, 2014 8:01 pm
by bank9597
snasui wrote::D จากสูตร =INDEX('OVER TIME'!A$4:A$51,MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0)) หมายถึง ในช่วง OVER TIME'!A$4:A$51 ให้นำลำดับที่เป็นผลลัพธ์ของ MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0) มาแสดง

จาก MATCH(SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)),'OVER TIME'!$AI$4:$AI$51,0) หมายถึง ให้หาว่า SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)) อยู่ในลำดับที่เท่าไรของ 'OVER TIME'!$AI$4:$AI$51

จาก SMALL('OVER TIME'!$AI$4:$AI$51,ROWS($A$4:A4)) หมายถึงให้หาค่าที่น้อยที่สุดเป็นลำดับที่ 1 ในช่วง 'OVER TIME'!$AI$4:$AI$51

สูตร ROWS($A$4:A4) เป็นการหาจำนวนบรรทัดในช่วง A4:A4 ผลลัพธ์คือ 1 บรรทัด
:mrgreen: :mrgreen: :mrgreen:

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Tue Jul 08, 2014 2:37 pm
by janyad
ลองเอามาทำจริงๆ ข้อมูลที่ขึ้นมาไม่ถูกเป็นเพราะอะไรค่ะ จำนวนคนมีประมาณ 3000 คนค่ะ

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Tue Jul 08, 2014 3:35 pm
by gilmon05
งงๆมากยังทำความเข้าใจไม่ถ่องแท้เลย :roll:

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Tue Jul 08, 2014 6:43 pm
by snasui
:D ควรถามในสิ่งที่ยังสงสัยจะได้ทราบว่างงตรงไหน สำหรับฟังก์ชั่นต่าง ๆ ลองศึกษามาก่อนตาม Link นี้ครับ http://office.microsoft.com/th-th/excel ... aspx?CTT=1

ติดตรงไหนแล้วค่อยถามกันต่อ สูตรข้างต้นเป็นการซ้อนสูตร ต้องเข้าใจแต่ละฟังก์ชั่นมาก่อนจึงจะทำความเข้าใจได้

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Wed Jul 09, 2014 7:36 am
by janyad
ลองทำแล้วแต่ข้อมูลที่ได้ซ้ำกัน เกิดจากอะไรค่ะ

Re: อยากให้ข้อมูลที่ทำประจำทุกเดือน ไปแสดงเฉพาะคนที่ลาออก

Posted: Wed Jul 09, 2014 6:21 pm
by snasui
:D ลองตามนี้ครับ
ที่ชีท พนักงานลาออก
  1. เซลล์ B4 คีย์สูตร
    =IFERROR(SMALL(IF(TOTAL!$G$4:$G$2511="ออก3",TOTAL!$AI$4:$AI$2511),ROWS(B$4:B4)),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. ที่ C4 คีย์สูตร
    =IF(N($B4),INDEX(TOTAL!A$4:A$2511,SMALL(IF(TOTAL!$G$4:$G$2511="ออก3",ROW(TOTAL!A$4:A$2511)-ROW(TOTAL!A$4)+1),COUNTIF($B$4:$B4,$B4))),"")
    Ctrl+Shift+Enter > Copy ไปด้านขวาและลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง